Severity by source
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
Primary rating from NVD · only source for this CVE.
CVSS VectorNVD
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
Lifecycle Timeline
3Blast Radius
ecosystem impact- 12 pypi packages depend on django (12 direct, 0 indirect)
Ecosystem-wide dependent count for version 5.2.
DescriptionCVE.org
An issue was discovered in 6.0 before 6.0.5 and 5.2 before 5.2.14. django.middleware.cache.UpdateCacheMiddleware erroneously caches requests where the Vary header contained an asterisk ('*'). This can lead to private data being stored and served. 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 Ahmad Sadeddin for reporting this issue.
AnalysisAI
Django's UpdateCacheMiddleware incorrectly caches HTTP responses containing a Vary header with an asterisk value in versions 6.0 before 6.0.5 and 5.2 before 5.2.14, causing private user data to be cached and served to other users. The vulnerability has low confidentiality impact and requires user interaction (UI:P) combined with passive attack timing, making real-world exploitation dependent on specific cache timing conditions and application architecture.
Technical ContextAI
The vulnerability resides in Django's UpdateCacheMiddleware component, which implements HTTP caching middleware following RFC 7234 cache control semantics. The Vary header specifies which request headers should be considered when determining cache key equivalence; per RFC 7231, a Vary value of '*' indicates that the response varies based on factors outside standard headers and should never be cached. Django's cache middleware fails to recognize this special case and caches responses marked with Vary: *, treating them as cacheable when they should be skipped. This violates HTTP caching semantics defined in CWE-524 (Incorrect Parsing). The issue affects the middleware layer that sits between the application and the HTTP cache backend, potentially causing sensitive per-user data (session tokens, CSRF tokens, personal information) to be stored in the cache layer and retrieved by subsequent requests from different users.
RemediationAI
Upgrade Django to version 6.0.5 or later for 6.0.x deployments, or version 5.2.14 or later for 5.2.x deployments. The vendor has released patched versions available at https://www.djangoproject.com/weblog/2026/may/05/security-releases/. For deployments unable to upgrade immediately, implement cache exclusion rules at the middleware level: configure the cache middleware to skip caching for responses with a Vary header containing '*' by creating a custom middleware wrapper that inspects the Vary header before UpdateCacheMiddleware processes the response, or disable UpdateCacheMiddleware entirely and use a reverse proxy cache (nginx, Varnish) with proper HTTP semantic handling. Alternative compensating control: restrict access to Django's cache backend at the network level and ensure authentication tokens are marked with Cache-Control: private, though this does not address responses already marked with Vary: *. Unsupported versions (5.0.x, 4.1.x, 3.2.x) should prioritize upgrading to a supported series, as backports are not available.
Wazuh SIEM platform versions 4.4.0 through 4.9.0 contain an unsafe deserialization vulnerability in the DistributedAPI t
BentoML version 1.4.2 and earlier contains an unauthenticated remote code execution vulnerability through insecure deser
pgAdmin 4 contains critical remote code execution vulnerabilities in the Query Tool download and Cloud Deployment endpoi
The renderLocalView function in render/views.py in graphite-web in Graphite 0.9.5 through 0.9.10 uses the pickle Python
BentoML is a Python library for building online serving systems optimized for AI apps and model inference. Rated critica
OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph
pyLoad download manager version prior to 0.5.0b3.dev77 exposes the Flask SECRET_KEY through an unauthenticated endpoint.
In Mercurial before 4.1.3, "hg serve --stdio" allows remote authenticated users to launch the Python debugger, and conse
Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/
pyLoad is the free and open-source Download Manager written in pure Python. Rated medium severity (CVSS 5.3), this vulne
Langflow (a visual LLM pipeline builder) contains a critical unauthenticated code execution vulnerability (CVE-2026-3301
Cross-user flow execution in Langflow (< 1.9.1) lets any authenticated API-key holder run another user's flow by passing
Same technique Information Disclosure
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-27382