Executive brief
The 'ln' utility in uutils coreutils, a Rust-based alternative to standard GNU command-line tools, fails to process filenames that contain non-UTF-8 characters when using the target-directory mode. This can cause automated scripts or system tasks to fail when they encounter valid but non-standard filenames on Unix systems. While it does not expose data, it can disrupt operations and lead to a local denial of service for specific file-linking tasks.
Technical details
A logic error in the 'ln' utility (uu_ln) of uutils coreutils causes the program to enforce UTF-8 encoding on source paths when using target-directory forms (e.g., 'ln SOURCE... DIRECTORY'). This deviates from GNU behavior, which treats filenames as raw bytes. An attacker or a system environment with filenames containing non-UTF-8 bytes (such as 0xFF) will cause the utility to fail to 'stat' the file, resulting in a non-zero exit code and failure to create the link. This is classified as CWE-176 (Improper Handling of Unicode Encoding). The issue is fixed in version 0.6.0.
Affected products
- uutils coreutils uu_ln < 0.6.0
Timeline
- 2026-01-01: disclosed: Reported in Zellic uutils coreutils Program Security Assessment
- 2026-03-18: other: Pull request 11403 opened to fix the issue
- 2026-05-30: patched: Version 0.6.0 released with fix
- 2026-07-06: advisory: GitHub Advisory published