Skip to content
NewA calmer, faster ZeroHour

CVE-2026-113593

Cache key collision in Django before 6.1.3

CVSS 4.0
2.3 low
EPSS
—
Published
·
Modified
Analyze CVE-2026-113593 with Vani AIImpact, affected versions, exploitation status, mitigations and detection

The UpdateCacheMiddleware and cache_page decorator in Django generate identical cache keys for requests differing only in the presence of a Vary header (omitted vs empty). Remote attackers can trigger this to access private data cached for other requests. Affects Django 6.1 < 6.1.3, 6.0 < 6.0.10, 5.2 < 5.2.19 and possibly earlier series.

What to do: Upgrade to Django 6.1.3, 6.0.10 or 5.2.19. No workaround given.

ProductAffectedFixed in
Django6.1 before 6.1.3, 6.0 before 6.0.10, and 5.2 before 5.2.196.1.3, 6.0.10, 5.2.19
Estimated exposure
No basis for an estimate.

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description · NVD

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.

Weakness
CWE-524
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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

In the news

1 story