CVE-2025-57833
BaseFortify
Publication date: 2025-09-03
Last updated on: 2025-11-04
Assigner: MITRE
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.24 (exc) |
| djangoproject | django | From 5.1 (inc) to 5.1.12 (exc) |
| djangoproject | django | From 5.2 (inc) to 5.2.6 (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 a SQL injection issue in Django versions before 4.2.24, 5.1 before 5.1.12, and 5.2 before 5.2.6. It occurs in the FilteredRelation feature when column aliases are created using a specially crafted dictionary with dictionary expansion passed as keyword arguments to QuerySet.annotate() or QuerySet.alias(). This allows 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 access to or modification of the database. This can result in data leakage, data corruption, or other impacts depending on the database and application context.
What immediate steps should I take to mitigate this vulnerability?
Upgrade Django to version 4.2.24 or later, 5.1.12 or later, or 5.2.6 or later to fix the SQL injection vulnerability in FilteredRelation when using dictionary expansion in QuerySet.annotate() or QuerySet.alias().