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.
{
"cna_assigner": "CERT-PL",
"cwe_ids": [
"CWE-125"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/56xxx/CVE-2026-56391.json"
}{
"source": "REFERENCES"
}
{
"cpe": "cpe:2.3:a:gnu:coreutils:*:*:*:*:*:*:*:*",
"extracted_events": [
{
"introduced": "9.5"
},
{
"last_affected": "9.11"
}
],
"source": "CPE_RANGE"
}
{
"extracted_events": [
{
"introduced": "9.5"
},
{
"last_affected": "9.11"
}
],
"source": "AFFECTED_FIELD"
}