CVE Catalog

CVE-2026-43969

LowCVSS 3.2
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.21%

11th percentile - higher than 11% of all known CVEs

Summary

The cowlib Erlang library's cow_cookie:cookie/1 function builds a Cookie header without validating cookie names or values. This allows injection of ;, comma, CR, LF, or TAB characters, enabling cookie smuggling and HTTP request splitting. Affects versions from 2.9.0 before 2.21.0.

Risk Assessment

An attacker could inject phantom cookies or arbitrary headers, or smuggle a second HTTP request through a shared upstream proxy, potentially bypassing authentication or poisoning responses. This impacts confidentiality and integrity of communications in applications using cowlib.

Recommendation

Upgrade cowlib to version 2.21.0 or later, which includes character validation for cookie names and values. Until patched, avoid passing untrusted data to the cookie/1 function.

Other vulnerabilities in cowlib

See all
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 before 2.21.0.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS