Vulnerability advisory
CVE-2026-35193
Potential exposure of private data via missing Vary: Authorization in UpdateCacheMiddleware
Also known as BIT-django-2026-35193GHSA-qpc8-7fxc-cm4pPYSEC-2026-197
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 21e98408f84d22191e2c7ee4052bdd12d264fd3f | 21e98408f84d22191e2c7ee4052bdd12d264fd3f |
| 36b5f39d9372147f0e758f590e35ee2b2bc317dd to before ee93f65169c280c9ab3d2ce103dd478c96d05065 | ee93f65169c280c9ab3d2ce103dd478c96d05065 |
Also listed as affected (21)
| |
Description
An issue was discovered in Django 5.2 before 5.2.15 and 6.0 before 6.0.6.
django.middleware.cache.UpdateCacheMiddleware in Django does not add Authorization to the Vary response header for requests bearing that header without Cache-Control: public, which allows remote attackers to read private cached responses via unauthenticated requests to the same URL.
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 Shai Berger for reporting this issue.
References
- Webgithub.com/django/django/ ↗
- Advisorydocs.djangoproject.com/en/dev/releases/security/ ↗
- Advisorygithub.com/CVEProject/cvelistV5/tree/main/cves/2026/35xxx/CVE-2026-35193.json ↗
- Advisorynvd.nist.gov/vuln/detail/CVE-2026-35193 ↗
- Advisorywww.djangoproject.com/weblog/2026/jun/03/security-releases/ ↗
- Packagepypi.org/project/Django/ ↗
- ARTICLEgroups.google.com/g/django-announce ↗