CVE-2026-43969
LowCVSS 3.2Exploitation Probability (EPSS)
Low risk4th percentile - higher than 4% of all known CVEs
Summary
CRLF Injection vulnerability in cowlib allows HTTP request splitting and cookie smuggling via unvalidated cookie name and value fields. The cow_cookie:cookie/1 function builds a Cookie header without validation, allowing an attacker to inject ;, ,, CR, LF, or TAB characters.
Risk Assessment
An attacker can smuggle fake cookies or inject additional HTTP headers, potentially leading to session hijacking or attacks on proxy servers.
Recommendation
Update cowlib to a patched version and avoid passing untrusted data to the cookie function.
Original NVD description (English source)
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 onward.

