Header Spoofing in Django ASGIRequest 4.2-6.0 (6.0.4, 5.2.13, 4.2.30)
CVE-2026-3902 Published on April 7, 2026
ASGI header spoofing via underscore/hyphen conflation
An issue was discovered in 6.0 before 6.0.4, 5.2 before 5.2.13, and 4.2 before 4.2.30.
`ASGIRequest` allows a remote attacker to spoof headers by exploiting an ambiguous mapping of two header variants (with hyphens or with underscores) to a single version with underscores.
Earlier, unsupported Django series (such as 5.0.x, 4.1.x, and 3.2.x) were not evaluated and may also be affected.
Django would like to thank Tarek Nakkouch for reporting this issue.
Vulnerability Analysis
CVE-2026-3902 is exploitable with network access, and does not require authorization privileges or user interaction. This vulnerability is considered to have a low attack complexity. The potential impact of an exploit of this vulnerability is considered to have no impact on confidentiality, a high impact on integrity, and no impact on availability.
Timeline
Initial report received.
Vulnerability confirmed. 77 days later.
Security release issued. 28 days later.
Weakness Type
Authentication Bypass by Spoofing
This attack-focused weakness is caused by improperly implemented authentication schemes that are subject to spoofing attacks.
Products Associated with CVE-2026-3902
stack.watch emails you whenever new vulnerabilities are published in Django Project Django or Canonical Ubuntu Linux. Just hit a watch button to start following.
Affected Versions
djangoproject Django:- Version 6.0 and below 6.0.4 is affected.
- Version 6.0.4 is unaffected.
- Version 5.2 and below 5.2.13 is affected.
- Version 5.2.13 is unaffected.
- Version 4.2 and below 4.2.30 is affected.
- Version 4.2.30 is unaffected.