CVE-2026-56391
MediumCVSS 6.1Exploitation Probability (EPSS)
Low risk4th percentile - higher than 4% of all known CVEs
Summary
In the GNU coreutils uniq utility, an out-of-bounds read vulnerability exists due to incorrect handling of multibyte input when the -w (--check-chars) option is used. The find_field() function miscalculates byte length by repeatedly processing a fixed pointer instead of advancing through the input, resulting in an inflated length value. This incorrect length is later used in a memcmp operation, causing reads beyond the allocated buffer when processing crafted multibyte input, leading to a crash and potential adjacent heap memory exposure.
Risk Assessment
An attacker could crash the uniq utility and potentially expose heap memory fragments, leading to leakage of sensitive information.
Recommendation
Update GNU coreutils to a version containing the fix (commit d64e35a8a4c0e4608321433e0d84d917e4e36371) or apply the security patch.
Other vulnerabilities in GNU coreutils
See all- CVE-2014-9471High
The parse_datetime function in GNU coreutils allows remote attackers to cause a denial of service (crash) or possibly execute arbitrary code via a crafted date string.
- CVE-2026-56392Medium
In GNU coreutils unexpand, a heap-based buffer overflow occurs due to an integer overflow during buffer allocation when processing large -t values. This can lead to out-of-bounds heap write and potentially achieve a heap write primitive.
- CVE-2025-5278Medium
In GNU Coreutils, the begfield() function in the sort utility is vulnerable to a heap buffer under-read. A crafted command using the traditional key format may access memory outside the allocated buffer.
Original NVD description (English source)
GNU coreutils uniq is vulnerable to an out‑of‑bounds read due to incorrect handling of multibyte input when the -w (--check-chars) option is used. The find_field() function miscalculates the byte length of characters by repeatedly processing a fixed pointer instead of advancing through the input, resulting in an inflated length value. This incorrect length is later used in a memcmp operation, causing reads beyond the allocated buffer when processing crafted multibyte input. When running GNU coreutils uniq with attacker-provided arguments, this behavior leads to a crash and potential adjacent heap memory exposure. This issue has been fixed in the commit d64e35a8a4c0e4608321433e0d84d917e4e36371.

