Djangoproject Django vulnerabilities
165 known vulnerabilities affecting djangoproject/django.
Total CVEs
165
CISA KEV
0
Public exploits
10
Exploited in wild
2
Severity breakdown
CRITICAL14HIGH52MEDIUM93LOW6
Vulnerabilities
Page 6 of 9
CVE-2024-45231P4MEDIUMCVSS 5.3≥ 4.2.0, < 4.2.16≥ 5.0, < 5.0.9+1 more2024-10-08
CVE-2024-45231 [MEDIUM] CWE-203 CVE-2024-45231: An issue was discovered in Django v5.1.1, v5.0.9, and v4.2.16. The django.contrib.auth.forms.Passwor
An issue was discovered in Django v5.1.1, v5.0.9, and v4.2.16. The django.contrib.auth.forms.PasswordResetForm class, when used in a view implementing password reset flows, allows remote attackers to enumerate user e-mail addresses by sending password reset requests and observing the outcome (only when e-mail sending is consistently failing).
ghsanvdosv
CVE-2026-5766P4MEDIUMCVSS 5.3≥ 5.2, < 5.2.14≥ 6.0, < 6.0.52026-05-05
CVE-2026-5766 [MEDIUM] CWE-130 CVE-2026-5766: An issue was discovered in 6.0 before 6.0.5 and 5.2 before 5.2.14. ASGI requests with a missing or u
An issue was discovered in 6.0 before 6.0.5 and 5.2 before 5.2.14.
ASGI requests with a missing or understated `Content-Length` header can bypass the `FILE_UPLOAD_MAX_MEMORY_SIZE` limit, potentially loading large files into memory and causing service degradation.
As a reminder, Django expects a limit to be configured at the web server level rather th
ghsanvd
CVE-2026-6907P4MEDIUMCVSS 5.3≥ 5.2, < 5.2.14≥ 6.0, < 6.0.52026-05-05
CVE-2026-6907 [MEDIUM] CWE-524 CVE-2026-6907: An issue was discovered in 6.0 before 6.0.5 and 5.2 before 5.2.14. `django.middleware.cache.UpdateCa
An issue was discovered in 6.0 before 6.0.5 and 5.2 before 5.2.14.
`django.middleware.cache.UpdateCacheMiddleware` erroneously caches requests where the `Vary` header contained an asterisk (`'*'`). This can lead to private data being stored and served.
Earlier, unsupported Django series (such as 5.0.x, 4.1.x, and 3.2.x) were not evaluated and may also
ghsanvd
CVE-2021-32052P4MEDIUMCVSS 6.1≥ 2.2, < 2.2.22≥ 3.1, < 3.1.10+1 more2021-05-06
CVE-2021-32052 [MEDIUM] CWE-79 CVE-2021-32052: In Django 2.2 before 2.2.22, 3.1 before 3.1.10, and 3.2 before 3.2.2 (with Python 3.9.5+), URLValida
In Django 2.2 before 2.2.22, 3.1 before 3.1.10, and 3.2 before 3.2.2 (with Python 3.9.5+), URLValidator does not prohibit newlines and tabs (unless the URLField form field is used). If an application uses values with newlines in an HTTP response, header injection can occur. Django itself is unaffected because HttpResponse prohibits newlines in HTTP h
ghsanvdosv
CVE-2020-13596P4MEDIUMCVSS 6.1≥ 2.2, < 2.2.13≥ 3.0, < 3.0.72020-06-03
CVE-2020-13596 [MEDIUM] CWE-79 CVE-2020-13596: An issue was discovered in Django 2.2 before 2.2.13 and 3.0 before 3.0.7. Query parameters generated
An issue was discovered in Django 2.2 before 2.2.13 and 3.0 before 3.0.7. Query parameters generated by the Django admin ForeignKeyRawIdWidget were not properly URL encoded, leading to a possibility of an XSS attack.
ghsanvdosv
CVE-2026-15920P4MEDIUMCVSS 6.1≥ 5.2, < 5.2.17≥ 6.0, < 6.0.82026-08-04
CVE-2026-15920 [MEDIUM] CWE-83 CVE-2026-15920: An issue was discovered in Django 5.2 before 5.2.17 and 6.0 before 6.0.8. `django.contrib.admin.util
An issue was discovered in Django 5.2 before 5.2.17 and 6.0 before 6.0.8.
`django.contrib.admin.utils.display_for_field()` renders `URLField` values as clickable links in the admin without validating the URL. A value stored with an unsafe scheme is displayed as a link on changelist and read-only admin pages, which allows cross-site scripting against
nvd
CVE-2016-2048P4MEDIUMCVSS 5.5v1.9v1.9.12016-02-08
CVE-2016-2048 [MEDIUM] CWE-284 CVE-2016-2048: Django 1.9.x before 1.9.2, when ModelAdmin.save_as is set to True, allows remote authenticated users
Django 1.9.x before 1.9.2, when ModelAdmin.save_as is set to True, allows remote authenticated users to bypass intended access restrictions and create ModelAdmin objects via the "Save as New" option when editing objects and leveraging the "change" permission.
ghsanvdosv
CVE-2018-16984P4MEDIUMCVSS 4.9≥ 2.1, < 2.1.22018-10-02
CVE-2018-16984 [MEDIUM] CWE-522 CVE-2018-16984: An issue was discovered in Django 2.1 before 2.1.2, in which unprivileged users can read the passwor
An issue was discovered in Django 2.1 before 2.1.2, in which unprivileged users can read the password hashes of arbitrary accounts. The read-only password widget used by the Django Admin to display an obfuscated password hash was bypassed if a user has only the "view" permission (new in Django 2.1), resulting in display of the entire password hash t
ghsanvdosv
CVE-2025-48432P4MEDIUMCVSS 5.3≥ 4.2, < 4.2.23≥ 5.1, < 5.1.11+1 more2025-06-05
CVE-2025-48432 [MEDIUM] CWE-117 CVE-2025-48432: An issue was discovered in Django 5.2 before 5.2.3, 5.1 before 5.1.11, and 4.2 before 4.2.23. Intern
An issue was discovered in Django 5.2 before 5.2.3, 5.1 before 5.1.11, and 4.2 before 4.2.23. Internal HTTP response logging does not escape request.path, which allows remote attackers to potentially manipulate log output via crafted URLs. This may lead to log injection or forgery when logs are viewed in terminals or processed by external systems.
ghsanvdosv
CVE-2022-22818P4MEDIUMCVSS 6.1≥ 2.2, < 2.2.27≥ 3.2, < 3.2.12+1 more2022-02-03
CVE-2022-22818 [MEDIUM] CWE-79 CVE-2022-22818: The template tag in Django 2.2 before 2.2.27, 3.2 before 3.2.12, and 4.0 before 4.0.2 do
The {% debug %} template tag in Django 2.2 before 2.2.27, 3.2 before 3.2.12, and 4.0 before 4.0.2 does not properly encode the current context. This may lead to XSS.
ghsanvdosv
CVE-2011-4140P4MEDIUMCVSS 6.8≤ 1.2.6v0.91+17 more2011-10-19
CVE-2011-4140 [MEDIUM] CWE-352 CVE-2011-4140: The CSRF protection mechanism in Django through 1.2.7 and 1.3.x through 1.3.1 does not properly hand
The CSRF protection mechanism in Django through 1.2.7 and 1.3.x through 1.3.1 does not properly handle web-server configurations supporting arbitrary HTTP Host headers, which allows remote attackers to trigger unauthenticated forged requests via vectors involving a DNS CNAME record and a web page containing JavaScript code.
ghsanvdosv
CVE-2011-4136P4MEDIUMCVSS 5.8≤ 1.2.6v0.91+17 more2011-10-19
CVE-2011-4136 [MEDIUM] CWE-20 CVE-2011-4136: django.contrib.sessions in Django before 1.2.7 and 1.3.x before 1.3.1, when session data is stored i
django.contrib.sessions in Django before 1.2.7 and 1.3.x before 1.3.1, when session data is stored in the cache, uses the root namespace for both session identifiers and application-data keys, which allows remote attackers to modify a session by triggering use of a key that is equal to that session's identifier.
ghsanvdosv
CVE-2014-0473P4MEDIUMCVSS 5.0v1.5v1.5.1+19 more2014-04-23
CVE-2014-0473 [MEDIUM] CWE-264 CVE-2014-0473: The caching framework in Django before 1.4.11, 1.5.x before 1.5.6, 1.6.x before 1.6.3, and 1.7.x bef
The caching framework in Django before 1.4.11, 1.5.x before 1.5.6, 1.6.x before 1.6.3, and 1.7.x before 1.7 beta 2 reuses a cached CSRF token for all anonymous users, which allows remote attackers to bypass CSRF protections by reading the CSRF cookie for anonymous users.
ghsanvdosv
CVE-2015-3982P4MEDIUMCVSS 5.0v1.8.0v1.8.12015-06-02
CVE-2015-3982 [MEDIUM] CVE-2015-3982: The session.flush function in the cached_db backend in Django 1.8.x before 1.8.2 does not properly f
The session.flush function in the cached_db backend in Django 1.8.x before 1.8.2 does not properly flush the session, which allows remote attackers to hijack user sessions via an empty string in the session key.
ghsanvdosv
CVE-2024-39329P4MEDIUMCVSS 5.3≥ 4.2, < 4.2.14≥ 5.0, < 5.0.72024-07-10
CVE-2024-39329 [MEDIUM] CWE-208 CVE-2024-39329: An issue was discovered in Django 5.0 before 5.0.7 and 4.2 before 4.2.14. The django.contrib.auth.ba
An issue was discovered in Django 5.0 before 5.0.7 and 4.2 before 4.2.14. The django.contrib.auth.backends.ModelBackend.authenticate() method allows remote attackers to enumerate users via a timing attack involving login requests for users with an unusable password.
ghsanvdosv
CVE-2015-5963P4MEDIUMCVSS 5.0v1.4v1.4.1+31 more2015-08-24
CVE-2015-5963 [MEDIUM] CWE-399 CVE-2015-5963: contrib.sessions.middleware.SessionMiddleware in Django 1.8.x before 1.8.4, 1.7.x before 1.7.10, 1.4
contrib.sessions.middleware.SessionMiddleware in Django 1.8.x before 1.8.4, 1.7.x before 1.7.10, 1.4.x before 1.4.22, and possibly other versions allows remote attackers to cause a denial of service (session store consumption or session record removal) via a large number of requests to contrib.auth.views.logout, which triggers the creation of an empty
ghsanvdosv
CVE-2025-13372P4MEDIUMCVSS 4.3≥ 4.2, < 4.2.27≥ 5.1, < 5.1.15+1 more2025-12-02
CVE-2025-13372 [MEDIUM] CWE-89 CVE-2025-13372: An issue was discovered in 5.2 before 5.2.9, 5.1 before 5.1.15, and 4.2 before 4.2.27. `FilteredRela
An issue was discovered in 5.2 before 5.2.9, 5.1 before 5.1.15, and 4.2 before 4.2.27.
`FilteredRelation` is subject to SQL injection in column aliases, using a suitably crafted dictionary, with dictionary expansion, as the `**kwargs` passed to `QuerySet.annotate()` or `QuerySet.alias()` on PostgreSQL.
Earlier, unsupported Django series (such as 5.0.
ghsanvdosv
CVE-2015-2316P4MEDIUMCVSS 5.0v1.6v1.6.1+17 more2015-03-25
CVE-2015-2316 [MEDIUM] CWE-399 CVE-2015-2316: The utils.html.strip_tags function in Django 1.6.x before 1.6.11, 1.7.x before 1.7.7, and 1.8.x befo
The utils.html.strip_tags function in Django 1.6.x before 1.6.11, 1.7.x before 1.7.7, and 1.8.x before 1.8c1, when using certain versions of Python, allows remote attackers to cause a denial of service (infinite loop) by increasing the length of the input string.
ghsanvdosv
CVE-2014-0480P4MEDIUMCVSS 5.8v1.7v1.6+27 more2014-08-26
CVE-2014-0480 [MEDIUM] CWE-20 CVE-2014-0480: The core.urlresolvers.reverse function in Django before 1.4.14, 1.5.x before 1.5.9, 1.6.x before 1.6
The core.urlresolvers.reverse function in Django before 1.4.14, 1.5.x before 1.5.9, 1.6.x before 1.6.6, and 1.7 before release candidate 3 does not properly validate URLs, which allows remote attackers to conduct phishing attacks via a // (slash slash) in a URL, which triggers a scheme-relative URL to be generated.
ghsanvdosv
CVE-2009-2659P4HIGH≥ 0.96.0, < 0.96.4≥ 1.0, < 1.0.32022-05-02
CVE-2009-2659 [HIGH] CWE-22 Django Admin Media Handler Vulnerable to Directory Traversal
Django Admin Media Handler Vulnerable to Directory Traversal
The Admin media handler in `core/servers/basehttp.py` in Django 1.0 and 0.96 does not properly map URL requests to expected "static media files," which allows remote attackers to conduct directory traversal attacks and read arbitrary files via a crafted URL.
ghsaosv