CVE-2025-64459
BaseFortify
Publication date: 2025-11-05
Last updated on: 2025-11-10
Assigner: Django Software Foundation
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| djangoproject | django | From 4.2 (inc) to 4.2.26 (exc) |
| djangoproject | django | From 5.1 (inc) to 5.1.14 (exc) |
| djangoproject | django | From 5.2 (inc) to 5.2.8 (exc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-89 | The product constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component. Without sufficient removal or quoting of SQL syntax in user-controllable inputs, the generated SQL query can cause those inputs to be interpreted as SQL instead of ordinary user data. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
This vulnerability is an SQL injection issue in Django versions before 5.1.14, 4.2.26, and 5.2.8. Specifically, the methods QuerySet.filter(), QuerySet.exclude(), QuerySet.get(), and the class Q() can be exploited when a specially crafted dictionary with dictionary expansion is used as the _connector argument, allowing an attacker to inject malicious SQL code.
How can this vulnerability impact me? :
This vulnerability can allow an attacker to perform SQL injection attacks, potentially leading to unauthorized data access, data modification, or other malicious database operations, compromising the security and integrity of the affected application.
What immediate steps should I take to mitigate this vulnerability?
To mitigate this vulnerability, upgrade Django to version 5.1.14 or later, 4.2.26 or later, or 5.2.8 or later. Avoid using the vulnerable methods QuerySet.filter(), QuerySet.exclude(), QuerySet.get(), and the class Q() with a crafted dictionary as the _connector argument until the upgrade is applied.