Improper Neutralization of CRLF Sequences ('CRLF Injection') vulnerability in ninenines cowlib allows HTTP request splitting and cookie smuggling via unvalidated cookie name and value fields.
cow_cookie:cookie/1 in cowlib builds a client-side Cookie: request header from a list of name-value pairs without validating either field. An attacker who controls the cookie names or values passed to this function can inject ;, ,, CR, LF, or TAB characters into the serialized header. This enables two classes of attack: cookie smuggling within a single header (e.g. injecting ; admin=1 to introduce a phantom cookie that the receiving server treats as authentic) and HTTP request header splitting (injecting CRLF to append arbitrary headers or smuggle a complete second request against a shared upstream proxy). The decoder side (parse_cookie_name/1, parse_cookie_value/1) and setcookie/3 already validate and reject these characters; the encoder alone is missing the check.
This issue affects cowlib: from 2.9.0 before 2.21.0.
{
"cna_assigner": "EEF",
"cwe_ids": [
"CWE-93"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/43xxx/CVE-2026-43969.json"
}{
"extracted_events": [
{
"range": [
{
"fixed": "177953dd51540da11090666c1f007214127a1144"
}
],
"source": "REFERENCES_COMMIT"
}
]
}
{
"extracted_events": [
{
"cpe": "cpe:2.3:a:ninenines:cowlib:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "2.9.0"
},
{
"last_affected": "2.16.1"
}
],
"source": "CPE_RANGE"
},
{
"range": [
{
"fixed": "c17fd73945ef536cccecc492d286fb6b6d1c3307"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "f017f8a0ecbffd5033d9ab49bf180186f7a523a7"
}
],
"source": "REFERENCES_COMMIT"
}
]
}