Medium severity · published Jun 3, 2026
CVE-2026-44546
Header injection via WebSocket upgrade parser differential allows ASGI scope header spoofing
5.3
CVSS
0.2%
EPSS
No
On KEV
Description
daphne before 4.2.2 reconstructs a raw HTTP request from Twisted's parsed headers and feeds it to autobahn for WebSocket handshake processing. Twisted does not treat \x0b, \x0c, \x1c, \x1d, \x1e, or \x85 as header line separators, but autobahn decodes header values to str and calls splitlines(). An attacker can exploit this parser differential to inject additional headers into the ASGI scope passed to the application. daphne now rejects requests with these bytes in any header value with a 400 response.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
None
Confidentiality
Low
Integrity
None
Availability
None
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.2% · higher than 7% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
DA
daphne · djangoproject
4.2.0 through 4.2.1 · source: vendor, NVD
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-44546
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-44546
Release Notes
https://github.com/django/daphne/blob/main/CHANGELOG.txt
More from daphne
7.5
CVE-2026-44545
Unbounded WebSocket message and frame sizes can cause unauthenticated remote denial of service
