---
id: CVE-2026-48588
aliases:
  - GHSA-3h9f-r86x-qvjx
  - BIT-django-2026-48588
  - PYSEC-2026-2090
title: >-
  Django: cache middleware may expose private responses when unrelated request
  cookies are present
summary: >-
  Django: cache middleware may expose private responses when unrelated request
  cookies are present
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'
vendor: django
product: django
ecosystem: pip
affected:
  - django < 5.2.16
  - 'django >= 6.0.0, < 6.0.7'
patched:
  - django 5.2.16
  - django 6.0.7
published: '2026-07-07'
updated: '2026-09-10'
sourceUpdated: '2026-09-10T03:51:10.140141450Z'
source: OSV
sourceUrl: 'https://osv.dev/vulnerability/GHSA-3h9f-r86x-qvjx'
references:
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-48588'
  - url: >-
      https://github.com/django/django/commit/64f9a2b2283fde3ec69fb0dfe441cf0f6f411ba3
  - url: >-
      https://github.com/django/django/commit/6e365f8d01f2ba0bbd90968d76a42600fb8bc4b1
  - url: >-
      https://github.com/django/django/commit/721685aa7799cc9327bd202cd1f70bd012ca95a7
  - url: 'https://docs.djangoproject.com/en/dev/releases/security'
  - url: 'https://github.com/django/django'
  - url: >-
      https://github.com/pypa/advisory-database/tree/main/vulns/django/PYSEC-2026-2090.yaml
  - url: 'https://groups.google.com/g/django-announce'
  - url: 'https://www.djangoproject.com/weblog/2026/jul/07/security-releases'
  - url: 'https://docs.djangoproject.com/en/dev/releases/security/'
  - url: 'https://www.djangoproject.com/weblog/2026/jul/07/security-releases/'
tags:
  - osv
  - pip
epss: 0.00429
epssPercentile: 0.36723
ingestedAt: '2026-07-10T18:56:50.628Z'
---

## Overview

An issue was discovered in Django 6.0 before 6.0.7 and 5.2 before 5.2.16.
`UpdateCacheMiddleware` and the `cache_page()` decorator cache responses that vary on cookies when the incoming request carries unrelated cookies, which allows remote attackers to read private data from the shared cache.
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 Chris Whyland for reporting this issue.

## Affected packages

- `django < 5.2.16`
- `django >= 6.0.0, < 6.0.7`

## Remediation

Upgrade to a patched release:

- `django 5.2.16`
- `django 6.0.7`
