CVE-2026-43968: ninenines cowlib CRLF injection in SSE encoder

CVE-2026-43968 · Severity: medium · CVSS 4 · Published 2026-05-11

A vulnerability in the cowlib library, which is used to handle web protocols in Erlang-based applications, could allow attackers to inject malicious data into Server-Sent Events (SSE). By including special hidden characters in data fields, an attacker can trick a user's web browser into executing unauthorized commands or displaying fake information. This could lead to security bypasses or malicious scripts running in a user's browser session.

Technologies: Nine Nines Cowlib. Vendors: Nine Nines.

Quick answers

Is CVE-2026-43968 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-43968 being exploited in the wild.
How severe is CVE-2026-43968?
Medium severity, with a CVSS score of 4, published 11 May 2026.
Which products and versions are affected?
Nine Nines Cowlib >= 2.6.0, < 2.16.1, 2.6.0 to 2.16.0, from 2.6.0.
Is there a fix for CVE-2026-43968?
A patch was published on 2026-05-11: Fixed in version 2.16.1 Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-43968 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-43968?
Check whether you run Nine Nines Cowlib at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

Technical details

A CRLF injection vulnerability exists in cowlib's SSE encoder (cow_sse:event/1). While the library sanitizes newline characters (\n), it fails to properly handle carriage return characters (\r) in the id, event, data, and comment fields. Because the SSE specification treats \r, \n, and \r\n as equivalent line terminators, an attacker can use a bare \r to inject new SSE lines. This allows for 'event splitting,' where an attacker can forge entirely new events with arbitrary types and payloads. If the receiving client (such as a browser's EventSource) renders this data in the DOM, it can result in stored XSS or logic manipulation. The issue is fixed in version 2.16.1.

Affected products

  • ninenines cowlib 2.6.0 to 2.16.0

Identifiers

  • CVE-2026-43968
  • GHSA-hv23-4qp7-8c8r

Timeline

  • 2026-05-11: disclosed
  • 2026-05-11: advisory
  • 2026-05-11: patched: Fixed in version 2.16.1

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.