Potential exposure of private data via missing Vary: Authorization in UpdateCacheMiddleware
An issue was discovered in Django 5.2 before 5.2.15 and 6.0 before 6.0.6. `django.middleware.cache.UpdateCacheMiddleware` in Django does not add `Authorization` to the `Vary` response header for requests bearing that header without `Cache-Control: public`, which allows remote attackers to read private cached responses via unauthenticated requests to the same URL. 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 Shai Berger for reporting this issue.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-35193
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 18:11 UTC · Revision 1
Source evidence
Potential exposure of private data via missing Vary: Authorization in UpdateCacheMiddleware
core-osv · Original sourcePublished 3 Jun 2026, 13:16 UTC
An issue was discovered in Django 5.2 before 5.2.15 and 6.0 before 6.0.6. `django.middleware.cache.UpdateCacheMiddleware` in Django does not add `Authorization` to the `Vary` response header for requests bearing that header without `Cache-Control: public`, which allows remote attackers to read private cached responses via unauthenticated requests to the same URL. 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 Shai Berger for reporting this issue.
osv:CVE-2026-35193
Complete source record
{
"id": "11bc4aa0a1bed86d4913e8d3a1bc3ea8e8b36272d1dfe9bcb1896d7b45b889a7",
"url": "https://osv.dev/vulnerability/CVE-2026-35193",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Potential exposure of private data via missing Vary: Authorization in UpdateCacheMiddleware",
"summary": "An issue was discovered in Django 5.2 before 5.2.15 and 6.0 before 6.0.6. `django.middleware.cache.UpdateCacheMiddleware` in Django does not add `Authorization` to the `Vary` response header for requests bearing that header without `Cache-Control: public`, which allows remote attackers to read private cached responses via unauthenticated requests to the same URL. 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 Shai Berger for reporting this issue.",
"evidence": "osv:CVE-2026-35193",
"products": [],
"severity": "low",
"structured": {
"id": "CVE-2026-35193",
"aliases": [
"BIT-django-2026-35193",
"CVE-2026-35193",
"GHSA-qpc8-7fxc-cm4p",
"PYSEC-2026-197"
],
"metrics": [
{
"type": "CVSS_V4",
"score": "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"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/django/django",
"type": "GIT",
"events": [
{
"introduced": "9e7cc2b628fe8fd3895986af9b7fc9525034c1b0"
},
{
"fixed": "21e98408f84d22191e2c7ee4052bdd12d264fd3f"
},
{
"introduced": "36b5f39d9372147f0e758f590e35ee2b2bc317dd"
},
{
"fixed": "ee93f65169c280c9ab3d2ce103dd478c96d05065"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:djangoproject:django:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "5.2"
},
{
"fixed": "5.2.15"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:djangoproject:django:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "6.0"
},
{
"fixed": "6.0.6"
}
],
"source": "CPE_RANGE"
}
]
}
}
],
"versions": [
"5.2.14",
"6.0.5",
"5.2.13",
"6.0.4",
"5.2.12",
"6.0.3",
"5.2.11",
"6.0.2",
"6.0.1",
"5.2.10",
"6.0",
"5.2.9",
"5.2.8",
"5.2.7",
"5.2.6",
"5.2.5",
"5.2.4",
"5.2.3",
"5.2.2",
"5.2.1",
"5.2"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-35193.json"
}
}
],
"modified": "2026-10-28T02:30:31.265082745Z",
"provider": "osv",
"references": [
"https://github.com/django/django/",
"https://docs.djangoproject.com/en/dev/releases/security/",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/35xxx/CVE-2026-35193.json",
"https://nvd.nist.gov/vuln/detail/CVE-2026-35193",
"https://www.djangoproject.com/weblog/2026/jun/03/security-releases/",
"https://pypi.org/project/Django/",
"https://groups.google.com/g/django-announce"
],
"provider_metadata": {
"cwe_ids": [
"CWE-524"
],
"cna_assigner": "DSF",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/35xxx/CVE-2026-35193.json"
}
},
"related_cves": [
{
"value": "CVE-2026-35193",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 498298,
"published_at": "2026-06-03T13:16:38.456+00:00"
}