Bug 2564004 (CVE-2026-113593) - CVE-2026-113593 django: Potential exposure of private data via empty and missing `Vary` headers
Summary: CVE-2026-113593 django: Potential exposure of private data via empty and miss...
Keywords:
Status: NEW
Alias: CVE-2026-113593
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Product Security
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-10-30 13:26 UTC by OSIDB Bzimport
Modified: 2026-11-12 09:34 UTC (History)
48 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2026-10-30 13:26:28 UTC
CVE-2026-113593: Potential exposure of private data via empty and missing `Vary` headers

`UpdateCacheMiddleware` and `cache_page()` generated the same cache key

for a request that omitted a header listed in the response's `Vary` header
and a request that sent that header with an empty value. As a result, a
response cached for one of these requests could be served to the other, which
could lead to the exposure of private data.

Cache keys now distinguish between absent and empty header values, as required
by [RFC 9111#section-4.1](https://datatracker.ietf.org/doc/html/rfc9111.html#section-4.1).

Responses previously cached for requests that omitted a header listed in
`Vary` will no longer be matched, and will be cached again on the next
request.

This issue has severity "low" according to the [Django security policy](https://docs.djangoproject.com/en/dev/internals/security/#security-issue-severity-levels).

Thanks to Andrew Gonzalez for the report.


Note You need to log in before you can comment on or make changes to this bug.