An issue was discovered in Django 5.2 before 5.2.15 and 6.0 before 6.0.6. `django.utils.cache.has_vary_header()` in Django does not strip leading or trailing whitespace from `Vary` response header values before comparison, which allows remote attackers to read cached responses via requests to URLs whose responses contain whitespace-padded Vary header values. 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 Navid Rezazadeh for reporting this issue.
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:XDjangoproject Django
APPDjangoproject5.2 – 5.2.15 (excl.)6.0 – 6.0.6 (excl.)
Related vulnerabilities
Django: brak walidacji uprawnień dodawania w GenericInlineModelAdmin
SQL injection w Django via argument _connector w QuerySet i Q()
SQL Injection w Django przez HasKey lookup na bazie Oracle
Pominięcie walidacji przy wielokrotnym przesyłaniu plików w Django
SQL injection w funkcjach Trunc() i Extract() frameworka Django