The Django team has released security updates for versions 5.0.8 and 4.2.15 to address multiple vulnerabilities, including a critical SQL injection flaw tracked as CVE-2024-42005 (CVSS 9.8). This critical vulnerability impacts the QuerySet.values() and values_list() methods on models with a JSONField, potentially allowing attackers to execute arbitrary SQL commands and gain unauthorized access to sensitive data. All Django users are strongly advised to update their installations immediately to mitigate these risks.
CVE-2024-42005: Critical SQL Injection Vulnerability
Description:
- The critical flaw, CVE-2024-42005, affects the QuerySet.values() and values_list() methods on Django models containing a JSONField. By crafting specific JSON object keys, an attacker can exploit this vulnerability to execute arbitrary SQL commands, leading to unauthorized data access and manipulation.
Other Vulnerabilities:
- CVE-2024-41989 (CVSS 7.5): Affects the floatformat template filter, which can consume excessive memory when processing specific numeric inputs in scientific notation.
- CVE-2024-41990 (CVSS 7.5): The urlize() and urlizetrunc() template filters are susceptible to DoS attacks through large inputs with specific character sequences.
- CVE-2024-41991 (CVSS 7.5): Similar to CVE-2024-41990, this affects urlize(), urlizetrunc(), and the AdminURLFieldWidget widget, allowing DoS attacks via inputs with a large number of Unicode characters.
Affected Versions
The vulnerabilities impact the following Django versions:
- Django main branch
- Django 5.1 (release candidate status)
- Django 5.0 (prior to 5.0.8)
- Django 4.2 (prior to 4.2.15)
Mitigation and Recommendations
Patched Versions:
- Django 5.0.8
- Django 4.2.15
Immediate Action Required:
- Upgrade to Django 5.0.8 or 4.2.15 immediately to mitigate the risks associated with these vulnerabilities.
- Regularly review and audit the use of JSONFields in Django applications to ensure secure handling and processing of data.
Conclusion
The release of these security updates is crucial for maintaining the security and integrity of Django-based applications, particularly due to the critical SQL injection vulnerability. All users are urged to apply the patches without delay to protect against potential exploitation.