Django 5.2/6.0 Vary Header Cache Leakage via Whitespace (before 5.2.15/6.0.6)
CVE-2026-48587 Published on June 3, 2026

Potential exposure of private data via whitespace padding in Vary header
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.

Vendor Advisory Vendor Advisory NVD

Timeline

Initial report received.

Vulnerability confirmed. 15 days later.

Security release issued. 8 days later.

Weakness Type

Incomplete Comparison with Missing Factors

The software performs a comparison between entities that must consider multiple factors or characteristics of each entity, but the comparison does not include one or more of these factors. An incomplete comparison can lead to resultant weaknesses, e.g., by operating on the wrong object or making a security decision without considering a required factor.


Products Associated with CVE-2026-48587

Want to know whenever a new CVE is published for Django Project Django? stack.watch will email you.

 

Affected Versions

djangoproject Django:

Exploit Probability

EPSS
0.04%
Percentile
11.49%

EPSS (Exploit Prediction Scoring System) scores estimate the probability that a vulnerability will be exploited in the wild within the next 30 days. The percentile shows you how this score compares to all other vulnerabilities.