Skip to main content
← All vulnerabilities
CVE-2026-35193GHSA-QPC8-7FXC-CM4PBIT-DJANGO-2026-35193PYSEC-2026-197

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

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 6.0.6, 5.2.15
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: partial

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • django

    From 6.0 · fixed in 6.0.6; From 5.2 · fixed in 5.2.15

  • djangoPyPI

    From 5.2.0 · fixed in 5.2.15

  • djangoPyPI

    From 6.0.0 · fixed in 6.0.6

  • djangoPyPI

    From 5.2 · fixed in 5.2.15; From 6.0 · fixed in 6.0.6

References 3

docs.djangoproject.com

groups.google.com

djangoproject.com