Vulnerability advisory
CVE-2026-6907
Potential exposure of private data due to incorrect handling of Vary: * in UpdateCacheMiddleware
Also known as BIT-django-2026-6907GHSA-5hrc-gvxj-w55pPYSEC-2026-55
Severity
- CVSS 4.0
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Affected versions
Repository
| Affected commits | Fixed by commit |
|---|---|
| GIT github.com/django/django ↗ | |
| 9e7cc2b628fe8fd3895986af9b7fc9525034c1b0 to before 024c26b1e77ea5b1b158265167ade47927a64c06 | 024c26b1e77ea5b1b158265167ade47927a64c06 |
| 36b5f39d9372147f0e758f590e35ee2b2bc317dd to before 8f8ad09659d728423a00e0a3b5f16da5c3a38e24 | 8f8ad09659d728423a00e0a3b5f16da5c3a38e24 |
Also listed as affected (19)
| |
Description
An issue was discovered in 6.0 before 6.0.5 and 5.2 before 5.2.14.
django.middleware.cache.UpdateCacheMiddleware erroneously caches requests where the Vary header contained an asterisk ('*'). This can lead to private data being stored and served.
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 Ahmad Sadeddin for reporting this issue.
References
- Webgithub.com/django/django/ ↗
- Advisorydocs.djangoproject.com/en/dev/releases/security/ ↗
- Advisorygithub.com/CVEProject/cvelistV5/tree/main/cves/2026/6xxx/CVE-2026-6907.json ↗
- Advisorynvd.nist.gov/vuln/detail/CVE-2026-6907 ↗
- Advisorywww.djangoproject.com/weblog/2026/may/05/security-releases/ ↗
- Packagepypi.org/project/Django/ ↗
- ARTICLEgroups.google.com/g/django-announce ↗