Description
An issue was discovered in Django 5.2 before 5.2.15 and 6.0 before 6.0.6. `django.utils.cache.has_vary_header()` in Django does not strip leading or trailing whitespace from `Vary` response header values before comparison, which allows remote attackers to read cached responses via requests to URLs whose responses contain whitespace-padded Vary header values. 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 Navid Rezazadeh for reporting this issue.
Problem types
CWE-1023: Incomplete Comparison with Missing Factors
Product status
6.0 (python) before 6.0.6
6.0.6 (python)
5.2 (python) before 5.2.15
5.2.15 (python)
Timeline
| 2026-05-11: | Initial report received. |
| 2026-05-26: | Vulnerability confirmed. |
| 2026-06-03: | Security release issued. |
Credits
Navid Rezazadeh
Jake Howard
Natalia Bidart
References
docs.djangoproject.com/en/dev/releases/security/ (Django security archive)
groups.google.com/g/django-announce (Django releases announcements)
www.djangoproject.com/weblog/2026/jun/03/security-releases/ (Django security releases issued: 6.0.6 and 5.2.15)