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.
The code uses a cache that contains sensitive information, but the cache can be read by an actor outside of the intended control sphere.
| Name | Vendor | Start Version | End Version |
|---|---|---|---|
| Django | Djangoproject | 5.2 (including) | 5.2.14 (excluding) |
| Django | Djangoproject | 6.0 (including) | 6.0.5 (excluding) |
| Python-django | Ubuntu | devel | * |
| Python-django | Ubuntu | esm-infra/xenial | * |
| Python-django | Ubuntu | jammy | * |
| Python-django | Ubuntu | noble | * |
| Python-django | Ubuntu | questing | * |
| Python-django | Ubuntu | resolute | * |
| Python-django | Ubuntu | upstream | * |