Read the docs
TI-2026-32014 Aliases CVE-2026-43969GHSA-g2wm-735q-3f56

Cookie Request Header Injection via Unvalidated Encoder in cow_cookie:cookie/1

Priority LOW 10CWE-93Published · Updated

Key facts

Attack vector
Local
Privileges required
None
User interaction
None
Attack complexity
Low
Attack requirements
Present
Impact type
—
Confidentiality · integrity · availability
None · Low · None
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub.

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.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00147 3rd percentileScored 2026-11-07
Fix Fixed cowlib (ninenines): 2.21.0

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
nineninescowlib2.9.0 to before 2.21.02.21.0Patch availableCNA
—cowlib (Hex)2.9.0 – 2.16.1—No fix listedGHSA-g2wm-735q-3f56
  • cowlib Vendorninenines Affected 2.9.0 to before 2.21.0 Fixed in 2.21.0 Patch available CNA
  • cowlib (Hex) Vendor— Affected 2.9.0 – 2.16.1 Fixed in — No fix listed GHSA-g2wm-735q-3f56

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:ninenines:cowlib:*:*:*:*:*:*:*:*2.9.0 – 2.16.1Vulnerableninenines
  • cpe:2.3:a:ninenines:cowlib:*:*:*:*:*:*:*:* Versions 2.9.0 – 2.16.1 Vulnerable ·ninenines

Remediation

  • Fix · CNA cowlib (ninenines) Fixed in 2.21.0

Vendor assessments

Red Hat

Red Hat's page for this CVE →

Not affected: 1 product
  • Red Hat

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-43969
  2. 2026-10-03 Alias added: GHSA-g2wm-735q-3f56
  3. 2026-10-09 Fix available: [email protected], ninenines/cowlib@c17fd73945ef536cccecc492d286fb6b6d1c3307 · CNA
  4. 2026-10-09 2 new references · CNA

References

  • TI-2026-06860 Unbounded chunk-size hex digits in cowlib cause quadratic CPU and memory DoS CVSS 4.0HIGH 8.7
  • TI-2026-32013 CR Injection in SSE Encoder Enables Event Splitting via cow_sse:event/1 CVSS 4.0MEDIUM 6.3
  • TI-2026-32011 HTTP Response Splitting via Non-VCHAR Bytes in cow_http_struct_hd:escape_string/2 CVSS 4.0MEDIUM 6.3

Sources