Description
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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Uutils | coreutils | < 0.7.0 | 0.7.0 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | rust-coreutils | 0.7.0-1 | — |
| Debian 13 | rust-coreutils | No fix yet | — |
| Debian 12 | rust-coreutils | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 25.10 | rust-coreutils | No fix yet | — |
| Ubuntu 24.04 LTS | rust-coreutils | No fix yet | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| crates.io | uu_cp | < 0.7.0 | 0.7.0 | GHSA-8vrf-r662-2w2v |
References
- https://github.com/uutils/coreutils/pull/11163 patch
- https://github.com/uutils/coreutils/issues/9746 issue-tracking
- https://github.com/uutils/coreutils/releases/tag/0.7.0 vendor-advisory