Denial-of-Service Vulnerability in Python-Django: CVE-2024-41990
Summary
UBUNTU-CVE-2024-41990: An issue was discovered in Django 5.0 before 5.0.8 and 4.2 before 4.2.15. Affects python-django versions 1.5.4-1ubuntu1 – 1.6.11-0ubuntu1.3+esm7. No fix is published. How to fix ↓
Check if this vulnerability affects your application
Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.
No signup required · Results in about 60 seconds
Background
Python-Django is a high-level Python web framework that encourages rapid development and clean, pragmatic design. It is widely used for building web applications and is known for its scalability and security features. However, certain versions of Django are vulnerable to a denial-of-service attack due to improper handling of large inputs in specific template filters.
Vulnerability Detail
An issue was discovered in Django versions 5.0 before 5.0.8 and 4.2 before 4.2.15. The urlize() and urlizetrunc() template filters can be exploited through very large inputs containing specific sequences of characters, leading to potential denial-of-service attacks. This vulnerability can cause the application to become unresponsive, impacting user experience and service availability.
How To Fix
No fixed version is published for this vulnerability.
Tip — Not sure whether your app is affected? Vulert can check the versions your app actually runs. Scan free →
Workaround
As a temporary measure, you can limit the size of inputs processed by the urlize() and urlizetrunc() filters in your templates. This can be done by implementing input validation to restrict the length of user inputs.
Conclusion
The CVE-2024-41990 vulnerability in Python-Django poses a significant risk of denial-of-service attacks through specific template filters. It is crucial for users to update their packages to the latest secure versions to mitigate this risk. Temporary workarounds can also be implemented while awaiting updates.
See every vulnerability recorded for python-django →
FAQ
CVE-2024-41990 is a vulnerability in certain versions of Python-Django that allows for denial-of-service attacks through specific template filters.
Django versions 5.0 before 5.0.8 and 4.2 before 4.2.15 are affected by this vulnerability.
You can use Vulert's playground at Vulert Scanner to check if your application is affected by this vulnerability without needing to sign up.
The CVSS score for this vulnerability is 7.5, indicating a high severity level.
If immediate updates are not possible, implement input validation to limit the size of inputs processed by the vulnerable filters as a temporary workaround.
References
Related vulnerabilities
Recent vulnerabilities recorded for python-django.