Description
The comm utility in uutils coreutils silently corrupts data by performing lossy UTF-8 conversion on all output lines. The implementation uses String::from_utf8_lossy(), which replaces invalid UTF-8 byte sequences with the Unicode replacement character (U+FFFD). This behavior differs from GNU comm, which processes raw bytes and preserves the original input. This results in corrupted output when the utility is used to compare binary files or files using non-UTF-8 legacy encodings.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Uutils | coreutils | < 0.6.0 | 0.6.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.6.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_comm | < 0.6.0 | 0.6.0 | GHSA-6gcw-w7cp-94g9 |
References
- https://github.com/uutils/coreutils/pull/10206 patch
- https://github.com/uutils/coreutils/issues/10192 issue-tracking
- https://github.com/uutils/coreutils/releases/tag/0.6.0 vendor-advisory