CVE-2026-113593 PUBLISHED

Potential exposure of private data via empty and missing Vary headers

Assigner: DSF
Reserved: 20.10.2026 Published: 03.11.2026 Updated: 03.11.2026

An issue was discovered in Django 6.1 before 6.1.3, 6.0 before 6.0.10, and 5.2 before 5.2.19. The django.middleware.cache.UpdateCacheMiddleware and the django.views.decorators.cache.cache_page() decorator generate identical cache keys for requests that omit a header listed in the response’s Vary header and requests that include that header with an empty value, potentially allowing remote attackers to access private data cached for another request. Earlier, unsupported Django series (such as 5.1.x, 5.0.x, and 4.2.x) were not evaluated and may also be affected. Django would like to thank Andrew Gonzalez for reporting this issue.

Metrics

CVSS Vector: 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
CVSS Score: 2.3

Product Status

Vendor djangoproject
Product Django
Versions Default: unaffected
  • affected from 6.1 to 6.1.3 (excl.)
  • Version 6.1.3 is unaffected
  • affected from 6.0 to 6.0.10 (excl.)
  • Version 6.0.10 is unaffected
  • affected from 5.2 to 5.2.19 (excl.)
  • Version 5.2.19 is unaffected

Credits

  • Andrew Gonzalez reporter
  • Andrew Gonzalez remediation developer
  • Jake Howard remediation developer
  • Sarah Boyce remediation reviewer
  • Jacob Walls coordinator

References

Problem Types

  • CWE-524: Use of Cache Containing Sensitive Information CWE

Impacts

  • CAPEC-204: Lifting Sensitive Data Embedded in Cache