editorially independent. We may make money when you click on links
to our partners.
Learn More
The Django Software Foundation has released critical security updates addressing two vulnerabilities that could allow remote attackers to execute SQL injection and denial-of-service (DoS) attacks on affected systems.
Django, one of the most widely used Python web frameworks, powers millions of web applications globally, including enterprise platforms, APIs, and content management systems.
The vulnerabilities impact multiple Django versions, including 4.2, 5.1, 5.2, and the 6.0 beta.
Overview of the Vulnerabilities
CVE-2025-64459
The SQL injection vulnerability (CVE-2025-64459) could allow attackers to inject arbitrary SQL commands into backend database queries.
The flaw was identified in Django’s QuerySet methods filter(), exclude(), and get() and the Q() class.
The issue arises when these components process specially crafted Python dictionaries using the _connector keyword argument with dictionary expansion.
This could enable unauthorized data access, data modification, or even complete database compromise.
CVE-2025-64458
The second flaw, CVE-2025-64458, involves a Windows-specific denial-of-service weakness rated at a moderate severity level.
It targets the framework’s HttpResponseRedirect and HttpResponsePermanentRedirect functions, both of which are vulnerable due to slow NFKC normalization in Python on Windows.
An attacker can exploit this weakness by sending inputs containing extremely large numbers of Unicode characters, causing excessive CPU usage and memory consumption.
The resulting slowdown can lead to a denial-of-service condition, temporarily preventing legitimate users from accessing the application.
This vulnerability can be used to disrupt web services, especially for organizations deploying Django applications on Windows servers.
These vulnerabilities underscore the importance of defense-in-depth strategies for all organizations running web applications, regardless of the underlying framework.
Mitigations Beyond Patching
While patching is essential, organizations should implement additional safeguards to strengthen their overall security posture and minimize the likelihood of similar exploits being successful.
Additional mitigations besides patching include:
- Sanitize all user inputs to prevent malicious injection. Use parameterized queries and Django’s built-in ORM features correctly rather than manually composing raw SQL statements.
- Implement web application firewalls (WAFs) to filter and block suspicious traffic targeting SQL endpoints or patterns of resource exhaustion.
- Harden database permissions by ensuring web application service accounts have the least privileges necessary to perform their functions.
- Enable application-layer rate limiting to reduce the risk of DoS exploitation, particularly for endpoints handling redirects or Unicode-heavy inputs.
- Monitor query performance and logs to detect anomalies such as slow database responses, repeated error codes, or unexpected Unicode payloads.
- Regularly review and test input validation logic using automated scanning tools to identify potential injection points.
- Isolate application components using containerization or sandboxing, ensuring that potential attacks on one service cannot cascade across systems.
By implementing layered security, organizations can build their cyber resilience.
The disclosure of CVE-2025-64459 and CVE-2025-64458 reinforces the ongoing relevance of traditional web vulnerabilities in modern frameworks.
The Django incident underscores that security is an ongoing discipline—effective protection depends on consistent maintenance, timely updates, and continuous monitoring of critical web systems.
As organizations strive to keep pace with evolving threats, leveraging DevSecOps tools has become essential to embed security seamlessly throughout the development lifecycle.
