---
id: CVE-2026-35358
aliases:
  - GHSA-8vrf-r662-2w2v
title: 'cp: -R reads device nodes as streams, destroying device semantics'
summary: 'cp: -R reads device nodes as streams, destroying device semantics'
severity: medium
cvss: 4.4
cwe:
  - CWE-400
  - CWE-706
vendor: uu_cp
product: uu_cp
ecosystem: rust
affected:
  - uu_cp < 0.7.0
patched:
  - uu_cp 0.7.0
published: '2026-07-06'
updated: '2026-07-06'
source: GHSA
sourceUrl: 'https://github.com/advisories/GHSA-8vrf-r662-2w2v'
references:
  - url: >-
      https://github.com/uutils/coreutils/security/advisories/GHSA-8vrf-r662-2w2v
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-35358'
  - url: 'https://github.com/uutils/coreutils/issues/9746'
  - url: 'https://github.com/uutils/coreutils/pull/11163'
  - url: >-
      https://github.com/uutils/coreutils/commit/e6a3bb596f149628ba973eec3d099f3bb69f2464
  - url: 'https://github.com/uutils/coreutils/releases/tag/0.7.0'
  - url: 'https://github.com/advisories/GHSA-8vrf-r662-2w2v'
tags:
  - ghsa
  - rust
epss: 0.00178
epssPercentile: 0.07587
ingestedAt: '2026-07-06T20:46:12.669Z'
---

## Overview

The cp utility in uutils coreutils, when performing recursive copies (-R), incorrectly treats character and block device nodes as stream sources rather than preserving them. Because the implementation reads bytes into regular files at the destination instead of using mknod, device semantics are destroyed (e.g., /dev/null becomes a regular file). This behavior can lead to runtime denial of service through disk exhaustion or process hangs when reading from unbounded device nodes.

---
_Zellic finding 3.53. Reported in the Zellic *uutils coreutils Program Security Assessment* (for Canonical, Jan 2026), audited commit `3a07ffc5a9bd4c283e75afa548ba1f1957bad242`._

## Affected packages

- `uu_cp < 0.7.0`

## Remediation

Upgrade to a patched release:

- `uu_cp 0.7.0`
