CVE-2026-43968 json
CR Injection in SSE Encoder Enables Event Splitting via cow_sse:event/1
published 2026-05-11 5 mo ago modified 2026-10-26 13 d ago also EEF-CVE-2026-43968 , EUVD-2026-29192 , GHSA-hv23-4qp7-8c8r
- cvss
- 4.0
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 18%
- public exploits
- 0
- none known
Summary
Improper Neutralization of CRLF Sequences ('CRLF Injection') vulnerability in ninenines cowlib allows SSE event splitting and injection via unvalidated field values.
cow_sse:event/1 in cowlib guards the id and event fields against \n but not against bare \r, and the internal prefix_lines/2 function used for data and comment fields splits only on \n. Because the SSE specification requires decoders to treat \r\n, \r, and \n as equivalent line terminators, an attacker who controls any of these fields can inject additional SSE lines and forge a complete event with an arbitrary event type and data payload on the receiving end. In typical deployments where browser EventSource clients or other SSE consumers dispatch on event.type and render event.data, this enables event splitting, client-side logic manipulation, and stored-XSS-equivalent behaviour when event data is inserted into the DOM.
This issue affects cowlib from 2.6.0 before 2.16.1.
Patch / fix
- hex cowlib 2.16.1
- ninenines cowlib 2.16.1
Vendor 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-43968 updated cvss 5.4
cowlib: cowlib: CRLF Injection leads to client-side logic manipulation
-
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
- 5 mo ago
Exploit prediction
0.27% chance of exploitation in the next 30 days, higher than 18% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 6.3 | CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N |
| GitHub | 3.1 | 4.0 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:L/A:N |
| CNA | 4.0 | 6.3 | CVSS:4.0/AV:N/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 | 4.0 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:L/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| hex | cowlib | >=2.6.0, <2.16.1 |
2.16.1 |
Affected products
- ninenines cowlib
Classification
- Weakness
-
- CWE-93 Improper Neutralization of CRLF Sequences
References
-
github.com
/ninenines/cowlib/commit/6165fc40efa159ba1cceee7e7981e790acba5d9c
patch, web
-
cna.erlef.org
/cves/CVE-2026-43968.html
related, third-party-advisory, web, vendor-advisory
-
osv.dev
/vulnerability/EEF-CVE-2026-43968
related, web, third-party-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-43968
advisory
-
github.com
/ninenines/cowlib
package
-
github.com
/ninenines/cowlib/releases/tag/2.16.1
web
-
hex.pm
/packages/cowlib
package
Sources
- CVE List CVE-2026-43968
- GitHub Advisory GHSA-hv23-4qp7-8c8r
- NVD CVE-2026-43968
- OSV EEF-CVE-2026-43968
Fencer Vulns 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.