$ the-wire · showcase
Six CVEs patched in Django, including a GDAL SRS forgery fix
By RepoJournal · Filed · About Django · Composed from the cited sources · methodology
Django landed four security fixes covering six archived CVEs, one of them a request-forgery path in spatial reference handling that sits on GDAL's default file and network resolution.
Fixed CVE-2026-114582 -- Blocked file and network access when setting SRS on GDAL 3.9+. django/django
Anything instantiating SpatialReference, including vector and raster transform() methods and the srs/srid setters, could be fed untrusted strings that GDAL resolved as file or network references. On GDAL 3.9+ Django now calls OSRSetFromUserInputEx() to block that access; on lower GDAL versions the fix does not apply, and the commit tells users to compare inputs against an allow list.
Fixed CVE-2026-113733 -- Fixed password hash disclosure to "view only" admin users with custom user models. django/django
Since Django 6.0 the admin obfuscated a password hash only when the field's model was exactly AUTH_USER_MODEL, so other user models and models inheriting the password field from a concrete parent displayed the full hash to view-only users. If your project has a custom user model, that is the hole.
Fixed CVE-2026-113593 -- Differentiated empty and missing headers in response cache. django/django
A missing header and an empty header now produce different response cache keys, as RFC 9111 requires. Previously the cache could conflate the two, serving a variant it had learned under the wrong key.
Added CVE-2026-108147, CVE-2026-111211, CVE-2026-111362, CVE-2026-113593, CVE-2026-113733, and CVE-2026-114582 to security archive. django/django
The security archive gained entries for CVE-2026-108147, CVE-2026-111211, CVE-2026-111362, CVE-2026-113593, CVE-2026-113733 and CVE-2026-114582.
Enforced ticket assignment limits and triage restrictions. django/code.djangoproject.com
Trac now caps how many tickets a user can hold assigned and restricts triage stages, closing a pair of long-standing requests. And in the quieter corners: the security archive grew by six CVE entries, reporting now allows one vulnerability per email, djangoproject.com stopped escaping quoted terms like "superuser" into prenotification emails, and django-asv added ubuntu-latest results.
Action items