CVE-2026-43966 HTTP Response Splitting via Non-VCHAR Bytes in cow_http_struct_hd:escape_string/2

Medium 6.3 Published Updated

Attackers can inject CRLF sequences into HTTP headers via cowlib, enabling HTTP response splitting and potential cache poisoning or XSS.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2026-43966?

CVE-2026-43966 is a medium-severity vulnerability in ninenines cowlib, published on 8 Jun 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

Improper Neutralization of CRLF Sequences in HTTP Headers ('HTTP Request/Response Splitting') vulnerability in ninenines cowlib allows HTTP response splitting via non-VCHAR bytes in structured-fields string values.

cow_http_struct_hd:escape_string/2 in cowlib only escapes \ and ", passing all other bytes through verbatim. This creates an encoder/decoder asymmetry: the matching parser accepts only printable ASCII (0x20–0x7E, excluding " and \), but the encoder emits any byte including CR and LF. An application that builds a structured HTTP header via cow_http_struct_hd:item/1 (or a higher-level wrapper such as cow_http_hd:wt_protocol/1) from attacker-controlled input can have \r\n injected into the serialized header value. Once on the wire, the injected CRLF terminates the current header and any following bytes are interpreted as a new header, enabling HTTP response splitting.

This issue affects cowlib: from 2.9.0 onward.

Weakness: CWE-113

Which versions are affected by CVE-2026-43966?

5 open source packages ship an affected version, including cowlib, cowboy and gun. It affects 1 product.

PackageAffectedFixed in
cowlib HexFrom 2.9.0None
cowboy HexAll versions2.16.0
cowboy HexAll versions2.16.0
gun HexAll versions2.16.0
gun HexAll versions2.16.0

Products include Ninenines Cowlib.

How do I fix CVE-2026-43966?

Apply the vendor's patch.

Is CVE-2026-43966 being exploited?

There is no known exploitation of CVE-2026-43966 in the wild and no public exploit code.

Sources

Also known as AZL-90162, DEBIAN-CVE-2026-43966, EEF-CVE-2026-43966, GHSA-w4f7-4cxr-rv3c.

Is CVE-2026-43966 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free