---
id: CVE-2026-3902
title: >-
  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) t…
summary: >-
  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) t…
severity: high
cvss: 7.5
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N'
cwe:
  - CWE-290
vendor: djangoproject
product: django
affected:
  - 'django >= 4.2, < 4.2.30'
  - 'django >= 5.2, < 5.2.13'
  - 'django >= 6.0, < 6.0.4'
patched:
  - django 6.0.4
published: '2026-04-07'
updated: '2026-06-17'
sourceUpdated: '2026-06-17T10:44:23.867'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-3902'
references:
  - url: 'https://docs.djangoproject.com/en/dev/releases/security/'
    label: 6a34fbeb-21d4-45e7-8e0a-62b95bc12c92
  - url: 'https://groups.google.com/g/django-announce'
    label: 6a34fbeb-21d4-45e7-8e0a-62b95bc12c92
  - url: 'https://www.djangoproject.com/weblog/2026/apr/07/security-releases/'
    label: 6a34fbeb-21d4-45e7-8e0a-62b95bc12c92
tags:
  - nvd
  - cve.org
ssvc:
  exploitation: none
  automatable: 'yes'
  technicalImpact: partial
  timestamp: '2026-04-07T16:14:03.870418Z'
ingestedAt: '2026-09-14T08:40:06.640Z'
epss: 0.00436
epssPercentile: 0.37218
---

## Overview

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.

## Affected

- `django >= 4.2, < 4.2.30`
- `django >= 5.2, < 5.2.13`
- `django >= 6.0, < 6.0.4`

## Remediation

Upgrade past the affected range:

- `django 6.0.4`
