Answer in brief
CVE-2026-43966 records a Medium severity (CVSS 6.3) vulnerability in HTTP Response Splitting via Non-VCHAR Bytes in cow_http_struct_hd:escape_string/2. The current sources do not mark it as known exploited. The current feed maps cowboy (erlang), gun (erlang), ninenines/cowlib (generic), ninenines/ninenines/cowlib (generic). Check affected ranges and fixed versions before updating.
Analysis pending evidence review
HOL Guard separates source facts from reviewed analysis. See the methodology.
CVSS is 6.3. The current sources do not mark it as known exploited. Treat this as a source-backed prioritization signal, not a statement about your environment.
Analysis status
Analysis pending evidence review
Factual feed record only; HOL analysis is not approved for indexing. Read the methodology.
The current feed maps cowboy (erlang), gun (erlang), ninenines/cowlib (generic), ninenines/ninenines/cowlib (generic). Check affected ranges and fixed versions before updating.
| Product | Affected versions | Fixed versions |
|---|---|---|
| cpe:2.3:a:ninenines:cowlib:*:*:*:*:*:*:*:* | Not reported | Not reported |
| Package | Affected range | Fixed version |
|---|---|---|
| cowboyerlang | <2.16.0 | 2.16.0 |
| gunerlang | <2.4.0 | 2.16.0 |
| ninenines/cowlibgeneric | >=2.9.0 <* | * |
| ninenines/ninenines/cowlibgeneric | >=a8b793db3d6ffe91d62f81baf41b1dab4cd78fb6 <4401b858f2229abb3ea115c60924f6c77e5f8aa3 | 4401b858f2229abb3ea115c60924f6c77e5f8aa3 |
Published upstream
Jun 8, 2026
Evidence: source:cvelist:source_dates:source-dates:recordSource modified
Oct 14, 2026
Evidence: source:cvelist:source_dates:source-dates:recordFirst seen by HOL
Aug 2, 2026
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.
Quoted source text, attributed separately from HOL analysis.