CVE-2026-35193 PUBLISHED

Potential exposure of private data via missing Vary: Authorization in UpdateCacheMiddleware

Assigner: DSF
Reserved: 01.04.2026 Published: 03.06.2026 Updated: 03.06.2026

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.

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.0 to 6.0.6 (excl.)
  • Version 6.0.6 is unaffected
  • affected from 5.2 to 5.2.15 (excl.)
  • Version 5.2.15 is unaffected

Credits

  • Shai Berger reporter
  • Jacob Walls remediation developer
  • Natalia Bidart coordinator

References

Problem Types

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

Impacts

  • CAPEC-204: Lifting Sensitive Data Embedded in Cache