Logo
-

Byte Open Security

(ByteOS Network)

Log In

Sign Up

ByteOS

Security
Vulnerability Details
Registries
Custom Views
Weaknesses
Attack Patterns
Filters & Tools
CVE Vulnerability Details :
CVE-2026-43966
PUBLISHED
More InfoOfficial Page
Assigner-EEF
Assigner Org ID-6b3ad84c-e1a6-4bf7-a703-f496b71e49db
View Known Exploited Vulnerability (KEV) details
Published At-08 Jun, 2026 | 16:34
Updated At-08 Jun, 2026 | 18:38
Rejected At-
▼CVE Numbering Authority (CNA)
HTTP Response Splitting via Non-VCHAR Bytes in cow_http_struct_hd:escape_string/2

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.

Affected Products
Vendor
ninenines
Product
cowlib
Collection URL
https://repo.hex.pm
Package Name
cowlib
Repo
https://github.com/ninenines/cowlib
CPEs
  • cpe:2.3:a:ninenines:cowlib:*:*:*:*:*:*:*:*
Modules
  • cow_http_struct_hd
Program Files
  • src/cow_http_struct_hd.erl
Program Routines
  • cow_http_struct_hd:escape_string/2
  • cow_http_struct_hd:bare_item/1
Default Status
unaffected
Versions
Affected
  • 2.9.0 (semver)
Vendor
ninenines
Product
cowlib
Collection URL
https://github.com
Package Name
ninenines/cowlib
Repo
https://github.com/ninenines/cowlib
CPEs
  • cpe:2.3:a:ninenines:cowlib:*:*:*:*:*:*:*:*
Modules
  • cow_http_struct_hd
Program Files
  • src/cow_http_struct_hd.erl
Program Routines
  • cow_http_struct_hd:escape_string/2
  • cow_http_struct_hd:bare_item/1
Default Status
unaffected
Versions
Affected
  • a8b793db3d6ffe91d62f81baf41b1dab4cd78fb6 (git)
Problem Types
TypeCWE IDDescription
CWECWE-113CWE-113 Improper Neutralization of CRLF Sequences in HTTP Headers ('HTTP Request/Response Splitting')
Type: CWE
CWE ID: CWE-113
Description: CWE-113 Improper Neutralization of CRLF Sequences in HTTP Headers ('HTTP Request/Response Splitting')
Metrics
VersionBase scoreBase severityVector
4.06.3MEDIUM
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:N/SI:L/SA:N
Version: 4.0
Base score: 6.3
Base severity: MEDIUM
Vector:
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:N/SI:L/SA:N
Metrics Other Info
Impacts
CAPEC IDDescription
CAPEC-34CAPEC-34 HTTP Response Splitting
CAPEC ID: CAPEC-34
Description: CAPEC-34 HTTP Response Splitting
Solutions

Configurations

The application must pass attacker-controlled data as a string value into cow_http_struct_hd:item/1 (or a wrapper that delegates to it). Applications that construct structured-fields header values exclusively from trusted, application-controlled values are not affected.

Workarounds

Validate all values passed into structured-fields header builders (directly via cow_http_struct_hd:item/1 or indirectly via higher-level wrappers) before calling the encoder. Reject any value that is not from a trusted, application-controlled source or that contains CR (\r) or LF (\n) bytes. Applications using cowboy 2.16.0 or later are protected on the server side by the invalid_response_headers option (defaults to error_terminate), which rejects any outgoing response header value containing CR or LF before it reaches the wire. Applications using gun 2.4.0 or later are protected on the client side by the invalid_request_headers request option (defaults to raise), which raises an exception when an outgoing request header value contains CR or LF.

Exploits

Credits

finder
Peter Ullrich
remediation developer
Loïc Hoguin
Timeline
EventDate
Replaced By

Rejected Reason

References
HyperlinkResource
https://cna.erlef.org/cves/CVE-2026-43966.html
related
third-party-advisory
https://osv.dev/vulnerability/EEF-CVE-2026-43966
related
https://github.com/ninenines/cowboy/commit/f77cb9b5e730e300fffb551db1ba5d1c4ed878ef
mitigation
https://github.com/ninenines/gun/commit/4f35609eb37109b106a863fc9ba83d7ee64e3e42
mitigation
Hyperlink: https://cna.erlef.org/cves/CVE-2026-43966.html
Resource:
related
third-party-advisory
Hyperlink: https://osv.dev/vulnerability/EEF-CVE-2026-43966
Resource:
related
Hyperlink: https://github.com/ninenines/cowboy/commit/f77cb9b5e730e300fffb551db1ba5d1c4ed878ef
Resource:
mitigation
Hyperlink: https://github.com/ninenines/gun/commit/4f35609eb37109b106a863fc9ba83d7ee64e3e42
Resource:
mitigation
▼Authorized Data Publishers (ADP)
CISA ADP Vulnrichment
Affected Products
Metrics
VersionBase scoreBase severityVector
Metrics Other Info
Impacts
CAPEC IDDescription
Solutions

Configurations

Workarounds

Exploits

Credits

Timeline
EventDate
Replaced By

Rejected Reason

References
HyperlinkResource
Details not found