CVE-2026-43969

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.
Configurations

Configuration 1 (hide)

cpe:2.3:a:ninenines:cowlib:*:*:*:*:*:*:*:*

History

26 Oct 2026, 20:10

Type Values Removed Values Added
Summary
  • (es) Vulnerabilidad de neutralización inadecuada de secuencias CRLF (’Inyección CRLF’) en ninenines cowlib permite la división de solicitudes HTTP y el contrabando de cookies a través de campos de nombre y valor de cookie no validados. cow_cookie:cookie/1 en cowlib construye una cabecera de solicitud Cookie: del lado del cliente a partir de una lista de pares nombre-valor sin validar ninguno de los campos. Un atacante que controla los nombres o valores de las cookies pasados a esta función puede inyectar los caracteres ;, ,, CR, LF o TAB en la cabecera serializada. Esto permite dos clases de ataque: el contrabando de cookies dentro de una única cabecera (por ejemplo, inyectando ; admin=1 para introducir una cookie fantasma que el servidor receptor trata como auténtica) y la división de cabeceras de solicitud HTTP (inyectando CRLF para añadir cabeceras arbitrarias o contrabandear una segunda solicitud completa contra un proxy ascendente compartido). El lado del decodificador (parse_cookie_name/1, parse_cookie_value/1) y setcookie/3 ya validan y rechazan estos caracteres; solo el codificador carece de la comprobación. Este problema afecta a cowlib: desde la versión 2.9.0 hasta versiones anteriores a la 2.21.0.

09 Oct 2026, 07:17

Type Values Removed Values Added
References
  • () https://github.com/ninenines/cowlib/commit/c17fd73945ef536cccecc492d286fb6b6d1c3307 -
  • () https://github.com/ninenines/cowlib/commit/f017f8a0ecbffd5033d9ab49bf180186f7a523a7 -
Summary (en) 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. (en) 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.

Information

Published : 2026-05-11 19:16

Updated : 2026-10-26 20:10


NVD link : CVE-2026-43969

Mitre link : CVE-2026-43969

CVE.ORG link : CVE-2026-43969


JSON object : View

Products Affected

ninenines

  • cowlib
CWE
CWE-93

Improper Neutralization of CRLF Sequences ('CRLF Injection')