The Wire · Showcase
DJANGO 6.0.7 PATCHES CRITICAL DOM SANITIZATION VULNERABILITY
By RepoJournal · Filed · About Django
Django shipped 6.0.7 overnight with a fix for CVE-2026-53878 that prevents newlines from bypassing DOM sanitization, and the djangoproject.com site is already running it.
The security patch [1] landed in the 6.0.x branch and is now in production on djangoproject.com, meaning this one moves fast. The vulnerability was in DOM handling where newline characters could slip through sanitization checks, creating potential injection vectors. On the core Django side, the PostGIS schema editor got fixed [2] after a report exposed missing index options in spatial index creation, a precision fix that matters for anyone using geodata heavily. Test infrastructure improvements landed across two fronts: facet filter tests [3] [4] that were failing sporadically because UserAdmin wasn't being registered in the default admin site, which meant ordering assertions could fail randomly. Documentation also tightened up around cache_page behavior [5], clarifying that it caches responses before response middleware runs, which prevents a whole class of silent caching bugs. The djangoproject.com dependencies rolled forward [6] [7] [8] with django-money 3.6.1, coverage 7.15.1, and Playwright 1.61.0 to keep the test and build infrastructure current.
One email a day. Unsubscribe in one click.
What actually shipped in Django, written up every day — commits, pull requests, releases, and security advisories.
One email a day. Unsubscribe in one click. Read a past issue →
Action items
- → Upgrade to Django 6.0.7 immediately if you're on 6.0.x - CVE-2026-53878 is a DOM sanitization bypass django/django [immediate]
- → If using PostGIS, check that your spatial indexes have the correct options after upgrading django/django [plan]
- → Review cache_page usage in your views where response middleware might matter django/django [monitor]
References
- [1] Bump django from 6.0.6 to 6.0.7 in /requirements ↗ django/djangoproject.com
- [2] Fixed #36694 -- Restored missing index options in PostGISSchemaEditor._create_spatial_index_sql(). ↗ django/django
- [3] Refs #32539 -- Fixed flaky facet filter tests. django/django
- [4] Refs #32539 -- Fixed flaky facet filter tests. ↗ django/django
- [5] Refs #15855 -- Documented that cache_page caches responses before response middleware runs. ↗ django/django
- [6] Bump django-money from 3.6.0 to 3.6.1 in /requirements ↗ django/djangoproject.com
- [7] Bump coverage from 7.14.3 to 7.15.1 in /requirements ↗ django/djangoproject.com
- [8] Bump playwright from 1.60.0 to 1.61.0 in /requirements ↗ django/djangoproject.com