Vulnerability advisory
GHSA-mvfq-ggxm-9mc5
Django vulnerable to ASGI header spoofing via underscore/hyphen conflation
Also known as BIT-django-2026-3902CVE-2026-3902PYSEC-2026-51
Severity
- CVSS 3.x
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Affected versions
| Affected | Fixed in |
|---|---|
6.0 to before 6.0.4 | 6.0.4Advisories → |
5.2 to before 5.2.13 | 5.2.13Advisories → |
4.2 to before 4.2.30 | 4.2.30Advisories → |
Description
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.
References
- Advisorynvd.nist.gov/vuln/detail/CVE-2026-3902 ↗
- Webdocs.djangoproject.com/en/dev/releases/security ↗
- Packagegithub.com/django/django ↗
- Webgithub.com/pypa/advisory-database/tree/main/vulns/django/PYSEC-2026-51.yaml ↗
- Webgroups.google.com/g/django-announce ↗
- Webwww.djangoproject.com/weblog/2026/apr/07/security-releases ↗