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.
References
| Link | Resource |
|---|---|
| https://cert.pl/en/posts/2026/07/CVE-2026-56391 | Third Party Advisory |
| https://git.savannah.gnu.org/cgit/coreutils.git/ | Product |
| https://git.savannah.gnu.org/cgit/coreutils.git/commit/?id=d64e35a8a4c0e4608321433e0d84d917e4e36371 | Patch |
Configurations
History
No history.
Information
Published : 2026-07-24 09:16
Updated : 2026-08-26 13:52
NVD link : CVE-2026-56391
Mitre link : CVE-2026-56391
CVE.ORG link : CVE-2026-56391
JSON object : View
Products Affected
gnu
- coreutils
CWE
CWE-125
Out-of-bounds Read
