Description
The printenv utility in uutils coreutils fails to display environment variables containing invalid UTF-8 byte sequences. While POSIX permits arbitrary bytes in environment strings, the uutils implementation silently skips these entries rather than printing the raw bytes. This vulnerability allows malicious environment variables (e.g., adversarial LD_PRELOAD values) to evade inspection by administrators or security auditing tools, potentially allowing library injection or other environment-based attacks to go undetected.
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_printenv | < 0.6.0 | 0.6.0 | GHSA-p7h3-7q52-72w8 |
References
- https://github.com/uutils/coreutils/issues/9701 issue-tracking
- https://github.com/uutils/coreutils/pull/9728 patch
- https://github.com/uutils/coreutils/releases/tag/0.6.0 vendor-advisory