{"id":"CVE-2026-113593","title":"Potential exposure of private data via empty and missing Vary headers","summary":"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.\nThe `django.middleware.cache.UpdateCacheMiddleware` and the `django.views.decorators.cache.cache_page()` decorator generate identical cache key…","severity":"low","cvss":3.1,"cvssVector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N","cvssSource":"cna","cwe":["CWE-524"],"vendor":"djangoproject","product":"django","affected":["django >= 6.1 < 6.1.3","django >= 6.0 < 6.0.10","django >= 5.2 < 5.2.19"],"ssvc":{"exploitation":"none","automatable":"no","technicalImpact":"partial","timestamp":"2026-11-03T17:19:24.284736Z"},"published":"2026-11-03","updated":"2026-11-03","sourceUpdated":"2026-11-03T18:26:21.601Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-113593","references":[{"url":"https://docs.djangoproject.com/en/dev/releases/security/","label":"Django security archive"},{"url":"https://groups.google.com/g/django-announce","label":"Django releases announcements"},{"url":"https://github.com/django/django/commit/c0b7e5e4e4546e8ddc58262f1945938bb9d9ac2d"},{"url":"https://github.com/django/django/commit/55e2e009b4f3996e5c55af7b22a8c41eb826e892"},{"url":"https://github.com/django/django/commit/2006a2b068766bf332f1afcc32b7614d8e5759a2"},{"url":"https://github.com/django/django/commit/9007fecd3633cfd90b093ebe106af564347c8aee"},{"url":"https://www.djangoproject.com/weblog/2026/nov/03/security-releases/","label":"Django security releases issued: 6.1.3, 6.0.10, and 5.2.19"}],"tags":["cve.org"],"epss":0.00464,"epssPercentile":0.40354,"ingestedAt":"2026-11-05T20:33:06.346Z","slug":"CVE-2026-113593","body":"## Overview\n\nAn issue was discovered in Django 6.1 before 6.1.3, 6.0 before 6.0.10, and 5.2 before 5.2.19.\nThe `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.\nEarlier, unsupported Django series (such as 5.1.x, 5.0.x, and 4.2.x) were not evaluated and may also be affected.\nDjango would like to thank Andrew Gonzalez for reporting this issue.\n\n## Affected\n\n- `django >= 6.1 < 6.1.3`\n- `django >= 6.0 < 6.0.10`\n- `django >= 5.2 < 5.2.19`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"sunlit","depthScore":17,"depthScoreParts":{"impact":17.1,"likelihood":0.1,"exploitation":0,"ransomware":0},"changes":[]}