Description
A logic error in the split utility of uutils coreutils causes the corruption of output filenames when provided with non-UTF-8 prefix or suffix inputs. The implementation utilizes to_string_lossy() when constructing chunk filenames, which automatically rewrites invalid byte sequences into the UTF-8 replacement character (U+FFFD). This behavior diverges from GNU split, which preserves raw pathname bytes intact. In environments utilizing non-UTF-8 encodings, this vulnerability leads to the creation of files with incorrect names, potentially causing filename collisions, broken automation, or the misdirection of output data.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Uutils | coreutils | < 0.8.0 | 0.8.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.8.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 | coreutils | < 0.8.0 | 0.8.0 | GHSA-vx9m-xjwf-8cqm |
References
- https://github.com/uutils/coreutils/pull/11397 issue-tracking patch
- https://github.com/uutils/coreutils/releases/tag/0.8.0 vendor-advisory