The Wire · Showcase
DJANGO 5.2.13 PATCHES CRITICAL UPLOAD VULNERABILITY
By RepoJournal · Filed · About Django
Django shipped an emergency security update that enforces upload size limits on request bodies—a gap that could let attackers bypass your DATA_UPLOAD_MAX_MEMORY_SIZE protections.
Code.djangoproject.com just landed Django 5.2.13 [1], which includes CVE-2026-33034, a fix that closes a dangerous hole where request body data wasn't subject to the memory upload ceiling you thought was enforcing. This is the kind of patch that feels minor until you realize someone's been uploading 500MB payloads to your endpoint. Meanwhile, the core Django repo is preparing for Python 3.15 compatibility [2], having adopted the new annotation_format parameter in getfullargspec() just before the feature freeze—good news if you're running bleeding-edge Python. On the feature front, Django landed dictionary-based EMAIL_PROVIDERS [3], decoupling backend tests from settings [4] and fixing a subtle but annoying bug where admin calendar widgets highlighted the wrong date based on timezone mismatches [7]. Djangoproject.com integrated the djade linter [5] for consistent template formatting and rewired the /about redirect [6] to point at /foundation instead of 404ing.
Action items
- → Upgrade to Django 5.2.13 before next deploy—CVE-2026-33034 is a real exposure django/django [immediate]
- → Verify your DATA_UPLOAD_MAX_MEMORY_SIZE settings are in place and test with payloads near the limit django/django [plan]
- → If running Python 3.15, test the annotation_format compatibility changes in your test suite django/django [monitor]
References
- [1] Bump django from 5.2.9 to 5.2.13 ↗ django/code.djangoproject.com
- [2] Refs #36712, #36664 -- Used annotation_format parameter of getfullargspec() on Python 3.15. ↗ django/django
- [3] Isolated commits from PR #21231 -- Fixed #35514 -- Implemented dictionary-based EMAIL_PROVIDERS. ↗ django/django
- [4] Refs #35514 -- Decoupled settings from functional EmailBackend tests. django/django
- [5] Add djade linter for Django templates (Fixes #2372) ↗ django/djangoproject.com
- [6] Redirect /about to /foundation ↗ django/djangoproject.com
- [7] Fixed #37074 -- Synced admin calendar today highlight with server time. ↗ django/django
FAQ
- What changed in Django on May 9, 2026?
- Django shipped an emergency security update that enforces upload size limits on request bodies—a gap that could let attackers bypass your DATA_UPLOAD_MAX_MEMORY_SIZE protections.
- What should Django teams do about it?
- Upgrade to Django 5.2.13 before next deploy—CVE-2026-33034 is a real exposure • Verify your DATA_UPLOAD_MAX_MEMORY_SIZE settings are in place and test with payloads near the limit • If running Python 3.15, test the annotation_format compatibility changes in your test suite
- Which Django repositories shipped on May 9, 2026?
- django/code.djangoproject.com, django/django, django/djangoproject.com