CVE-2026-43969 json
Cookie Request Header Injection via Unvalidated Encoder in cow_cookie:cookie/1
published 5mo ago modified 14d ago also EEF-CVE-2026-43969 , EUVD-2026-29193 , GHSA-g2wm-735q-3f56
- cvss
- 3.2
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.1%
- EPSS 0.1% chance of exploitation in 30 days, percentile 3%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- hex cowlib 2.21.0
- ninenines cowlib 2.21.0
- rabbitmq-server Azure Linux 3.0 3.13.7-10
azure linux advisories AZL-86787
Azure Linux vulnerability data, Copyright (c) Microsoft Corporation, from https://github.com/microsoft/AzureLinuxVulnerabilityData via OSV, under the MIT licence; changed: normalised to fixed package versions per release. MIT
Is CVE-2026-43969 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-43969 updated cvss 4.0
cowlib: cowlib: HTTP request splitting and cookie smuggling due to CRLF Injection.
-
Red Hat All currently supported Red Hat productsnot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 5mo ago
Exploit prediction
0.15% chance of exploitation in the next 30 days, higher than 3% of all scored CVEs (FIRST EPSS, 2026-11-09).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 2.1 | CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N |
| GitHub | 3.1 | 3.2 | CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:N/I:L/A:N |
| CNA | 4.0 | 2.1 | CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| NVD | 3.1 | 3.2 | CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:N/I:L/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| hex | cowlib | >=2.9.0, <=2.16.1 >=2.9.0, <2.21.0 |
2.21.0 |
Affected products
- ninenines cowlib
Classification
- Weakness
-
- CWE-93 Improper Neutralization of CRLF Sequences
References
-
github.com
/erlef/cowlib/commit/177953dd51540da11090666c1f007214127a1144
patch, web
-
github.com
/ninenines/cowlib/commit/f017f8a0ecbffd5033d9ab49bf180186f7a523a7
related, web
-
github.com
/ninenines/cowlib/commit/c17fd73945ef536cccecc492d286fb6b6d1c3307
patch
-
cna.erlef.org
/cves/CVE-2026-43969.html
related, third-party-advisory, web, vendor-advisory
-
osv.dev
/vulnerability/EEF-CVE-2026-43969
related, web, third-party-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-43969
advisory
-
github.com
/ninenines/cowlib
package
-
hex.pm
/packages/cowlib
package
Sources
- CVE List CVE-2026-43969
- GitHub Advisory GHSA-g2wm-735q-3f56
- NVD CVE-2026-43969
- OSV EEF-CVE-2026-43969
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.