CVE-2026-3902
CVE-2026-3902 · ASGI header spoofing via underscore/hyphen conflation
This page contains facts from public vulnerability sources. Check the original advisory before updating.
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.
CVSS 7.5 · High · EPSS 0.5% · Fix available
- Published
- Updated
Affected products and versions
django
- Versions
- ≥ 6.0, < 6.0.4: Affected (semver)
- 6.0.4: Not affected (semver)
- ≥ 5.2, < 5.2.13: Affected (semver)
- 5.2.13: Not affected (semver)
- ≥ 4.2, < 4.2.30: Affected (semver)
- 4.2.30: Not affected (semver)
Update to 4.2.30; Update to 5.2.13; Update to 6.0.4
python-django Debian:12
- Versions
- 3:3.2.19-1
- 3:3.2.19-1+deb12u1
- 3:3.2.19-1+deb12u1~bpo11+1
- 3:3.2.19-1+deb12u2
- 3:3.2.20-1
- 3:3.2.20-1.1
- 3:3.2.21-1
- 3:3.2.25-0+deb12u1
- 3:3.2.25-0+deb12u2
- 3:3.2.25-0+deb12u3
- 3:3.2.25-0+deb12u4
- 3:3.2.25-0+deb12u5
- 3:4.1-1
- 3:4.1.1-1
- 3:4.1.2-1
- 3:4.1.3-1
- 3:4.1.4-1
- 3:4.1.5-1
- 3:4.2-1
- 3:4.2.1-1
- 3:4.2.10-1
- 3:4.2.11-1
- 3:4.2.13-1
- 3:4.2.14-1
- 3:4.2.15-1
- 3:4.2.15-1~bpo12+1
- 3:4.2.16-1
- 3:4.2.17-1
- 3:4.2.17-2
- 3:4.2.18-1
- 3:4.2.18-1~bpo12+1
- 3:4.2.19-1
- 3:4.2.19-1~bpo12+1
- 3:4.2.2-1
- 3:4.2.20-1
- 3:4.2.20-1~bpo12+1
- 3:4.2.21-1
- 3:4.2.21-1~bpo12+1
- 3:4.2.22-1
- 3:4.2.23-1
- 3:4.2.24-1
- 3:4.2.25-1
- 3:4.2.25-2
- 3:4.2.26-1
- 3:4.2.27-1
- 3:4.2.27-2
- 3:4.2.28-1
- 3:4.2.29-1
- 3:4.2.3-1
- 3:4.2.30-1
- 3:4.2.4-1
- 3:4.2.5-1
- 3:4.2.5-2
- 3:4.2.6-1
- 3:4.2.8-1
- 3:4.2.9-1
- 3:4.2~alpha1-1
- 3:4.2~beta1-1
- 3:4.2~rc1-1
- 3:5.0-1
- 3:5.0.1-1
- 3:5.0.2-1
- 3:5.0.3-1
- 3:5.0.4-1
- 3:5.0.6-1
- 3:5.0~alpha1-1
- 3:5.0~rc1-1
- 3:5.1-1
- 3:5.1.1-1
- 3:5.1.2-1
- 3:5.1.3-1
- 3:5.1.4-1
- 3:5.1.5-1
- 3:5.1~alpha1-1
- 3:5.1~beta1-1
- 3:5.1~rc1-1
- 3:5.2-1
- 3:5.2.1-1
- 3:5.2.13-1
- 3:5.2.14-1
- 3:5.2.14-2
- 3:5.2.15-1
- 3:5.2.15-2
- 3:5.2.15-2~bpo13+1
- 3:5.2.16-1
- 3:5.2.16-1~bpo13+1
- 3:5.2.17-1
- 3:5.2.17-2
- 3:5.2.2-1
- 3:5.2.3-1
- 3:5.2.4-1
- 3:5.2.5-1
- 3:5.2.6-1
- 3:5.2~alpha1-1
- 3:5.2~beta1-1
- 3:5.2~rc1-1
- 3:6.0-1
- 3:6.0.1-1
- 3:6.0.2-1
- 3:6.0.3-1
- 3:6.0.4-1
- 3:6.0.5-1
- 3:6.0.6-1
- 3:6.0~alpha1-1
- 3:6.0~beta1-1
- 3:6.0~rc1-1
- 3:6.1-1
- 3:6.1.1-1
- 3:6.1~beta1-1
- 3:6.1~rc1-1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
python-django Debian:13
- Versions
- 3:4.2.23-1
- 3:4.2.24-1
- 3:4.2.25-1
- 3:4.2.25-2
- 3:4.2.26-1
- 3:4.2.27-0+deb13u1
- 3:4.2.27-1
- 3:4.2.27-2
- 3:4.2.28-0+deb13u1
- 3:4.2.28-0+deb13u2
- 3:4.2.28-1
- 3:4.2.29-1
- 3:4.2.30-1
- 3:5.0-1
- 3:5.0.1-1
- 3:5.0.2-1
- 3:5.0.3-1
- 3:5.0.4-1
- 3:5.0.6-1
- 3:5.0~alpha1-1
- 3:5.0~rc1-1
- 3:5.1-1
- 3:5.1.1-1
- 3:5.1.2-1
- 3:5.1.3-1
- 3:5.1.4-1
- 3:5.1.5-1
- 3:5.1~alpha1-1
- 3:5.1~beta1-1
- 3:5.1~rc1-1
- 3:5.2-1
- 3:5.2.1-1
- 3:5.2.13-1
- 3:5.2.14-1
- 3:5.2.14-2
- 3:5.2.15-1
- 3:5.2.15-2
- 3:5.2.15-2~bpo13+1
- 3:5.2.16-1
- 3:5.2.16-1~bpo13+1
- 3:5.2.17-1
- 3:5.2.17-2
- 3:5.2.2-1
- 3:5.2.3-1
- 3:5.2.4-1
- 3:5.2.5-1
- 3:5.2.6-1
- 3:5.2~alpha1-1
- 3:5.2~beta1-1
- 3:5.2~rc1-1
- 3:6.0-1
- 3:6.0.1-1
- 3:6.0.2-1
- 3:6.0.3-1
- 3:6.0.4-1
- 3:6.0.5-1
- 3:6.0.6-1
- 3:6.0~alpha1-1
- 3:6.0~beta1-1
- 3:6.0~rc1-1
- 3:6.1-1
- 3:6.1.1-1
- 3:6.1~beta1-1
- 3:6.1~rc1-1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
python-django Debian:14
- Versions
- 3:4.2.23-1
- 3:4.2.24-1
- 3:4.2.25-1
- 3:4.2.25-2
- 3:4.2.26-1
- 3:4.2.27-1
- 3:4.2.27-2
- 3:4.2.28-1
- 3:4.2.29-1
- Affected ranges
- ECOSYSTEM: < 3:4.2.30-1
Update to 3:4.2.30-1
django PyPI
- Versions
- 6.0
- 6.0.1
- 6.0.2
- 6.0.3
- Affected ranges
- ECOSYSTEM: ≥ 6.0, < 6.0.4
Update to 6.0.4
django PyPI
- Versions
- 5.2
- 5.2.1
- 5.2.10
- 5.2.11
- 5.2.12
- 5.2.2
- 5.2.3
- 5.2.4
- 5.2.5
- 5.2.6
- 5.2.7
- 5.2.8
- 5.2.9
- Affected ranges
- ECOSYSTEM: ≥ 5.2, < 5.2.13
Update to 5.2.13
django PyPI
- Versions
- 4.2
- 4.2.1
- 4.2.10
- 4.2.11
- 4.2.12
- 4.2.13
- 4.2.14
- 4.2.15
- 4.2.16
- 4.2.17
- 4.2.18
- 4.2.19
- 4.2.2
- 4.2.20
- 4.2.21
- 4.2.22
- 4.2.23
- 4.2.24
- 4.2.25
- 4.2.26
- 4.2.27
- 4.2.28
- 4.2.29
- 4.2.3
- 4.2.4
- 4.2.5
- 4.2.6
- 4.2.7
- 4.2.8
- 4.2.9
- Affected ranges
- ECOSYSTEM: ≥ 4.2, < 4.2.30
Update to 4.2.30
django PyPI
- Versions
- 4.2
- 4.2.1
- 4.2.10
- 4.2.11
- 4.2.12
- 4.2.13
- 4.2.14
- 4.2.15
- 4.2.16
- 4.2.17
- 4.2.18
- 4.2.19
- 4.2.2
- 4.2.20
- 4.2.21
- 4.2.22
- 4.2.23
- 4.2.24
- 4.2.25
- 4.2.26
- 4.2.27
- 4.2.28
- 4.2.29
- 4.2.3
- 4.2.4
- 4.2.5
- 4.2.6
- 4.2.7
- 4.2.8
- 4.2.9
- 5.2
- 5.2.1
- 5.2.10
- 5.2.11
- 5.2.12
- 5.2.2
- 5.2.3
- 5.2.4
- 5.2.5
- 5.2.6
- 5.2.7
- 5.2.8
- 5.2.9
- 6.0
- 6.0.1
- 6.0.2
- 6.0.3
- Affected ranges
- ECOSYSTEM: ≥ 4.2, < 4.2.30 ∪ ≥ 5.2, < 5.2.13 ∪ ≥ 6.0, < 6.0.4
Update to 4.2.30; Update to 5.2.13; Update to 6.0.4
python-django Ubuntu:22.04:LTS
- Versions
- 2:2.2.24-1ubuntu1
- 2:3.2.12-2
- 2:3.2.12-2ubuntu1
- 2:3.2.12-2ubuntu1.1
- 2:3.2.12-2ubuntu1.2
- 2:3.2.12-2ubuntu1.3
- 2:3.2.12-2ubuntu1.4
- 2:3.2.12-2ubuntu1.5
- 2:3.2.12-2ubuntu1.6
- 2:3.2.12-2ubuntu1.7
- 2:3.2.12-2ubuntu1.8
- 2:3.2.12-2ubuntu1.9
- 2:3.2.12-2ubuntu1.10
- 2:3.2.12-2ubuntu1.11
- 2:3.2.12-2ubuntu1.12
- 2:3.2.12-2ubuntu1.13
- 2:3.2.12-2ubuntu1.14
- 2:3.2.12-2ubuntu1.15
- 2:3.2.12-2ubuntu1.16
- 2:3.2.12-2ubuntu1.17
- 2:3.2.12-2ubuntu1.18
- 2:3.2.12-2ubuntu1.19
- 2:3.2.12-2ubuntu1.20
- 2:3.2.12-2ubuntu1.21
- 2:3.2.12-2ubuntu1.22
- 2:3.2.12-2ubuntu1.23
- 2:3.2.12-2ubuntu1.24
- 2:3.2.12-2ubuntu1.25
- Affected ranges
- ECOSYSTEM: < 2:3.2.12-2ubuntu1.26
Update to 2:3.2.12-2ubuntu1.26
python-django Ubuntu:24.04:LTS
- Versions
- 3:4.2.4-1ubuntu2
- 3:4.2.8-1
- 3:4.2.9-1
- 3:4.2.11-1
- 3:4.2.11-1ubuntu1
- 3:4.2.11-1ubuntu1.1
- 3:4.2.11-1ubuntu1.2
- 3:4.2.11-1ubuntu1.3
- 3:4.2.11-1ubuntu1.4
- 3:4.2.11-1ubuntu1.5
- 3:4.2.11-1ubuntu1.6
- 3:4.2.11-1ubuntu1.7
- 3:4.2.11-1ubuntu1.8
- 3:4.2.11-1ubuntu1.9
- 3:4.2.11-1ubuntu1.10
- 3:4.2.11-1ubuntu1.11
- 3:4.2.11-1ubuntu1.12
- 3:4.2.11-1ubuntu1.13
- 3:4.2.11-1ubuntu1.14
- Affected ranges
- ECOSYSTEM: < 3:4.2.11-1ubuntu1.15
Update to 3:4.2.11-1ubuntu1.15
python-django Ubuntu:25.10
- Versions
- 3:4.2.18-1ubuntu1
- 3:4.2.18-1ubuntu1.1
- 3:5.2.4-1
- 3:5.2.4-1ubuntu1
- 3:5.2.4-1ubuntu2
- 3:5.2.4-1ubuntu2.1
- 3:5.2.4-1ubuntu2.2
- 3:5.2.4-1ubuntu2.3
- Affected ranges
- ECOSYSTEM: < 3:5.2.4-1ubuntu2.4
Update to 3:5.2.4-1ubuntu2.4