CVE-2015-5145
Django ReDoS in validators.URLValidator
CVE-2015-5145 is a high vulnerability (CVSS 7.8) in Djangoproject Django, published July 14, 2015. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 2.98%, the 87th percentile. Fixed in django 1.8.3.
validators.URLValidator in Django 1.8.x before 1.8.3 allows remote attackers to cause a denial of service (CPU consumption) via unspecified vectors.
Exploit likelihood
What each source reports
NVD Score used
7.8
validators.URLValidator in Django 1.8.x before 1.8.3 allows remote attackers to cause a denial of service (CPU consumption) via unspecified vectors.
- Record
CVE-2015-5145- CVSS 2.0
- 7.8 High
AV:N/AC:L/Au:N/C:N/I:N/A:C - Weakness
- CWE-399
- Updated
- 2026-11-02
CVE List No score
validators.URLValidator in Django 1.8.x before 1.8.3 allows remote attackers to cause a denial of service (CPU consumption) via unspecified vectors.
- Record
CVE-2015-5145- Updated
- 2026-11-02
EUVDEUVD-2015-0010 No score
validators.URLValidator in Django 1.8.x before 1.8.3 allows remote attackers to cause a denial of service (CPU consumption) via unspecified vectors.
- Record
EUVD-2015-0010- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-cqf7-ff9h-7967
8.7
Django ReDoS in validators.URLValidator
validators.URLValidator in Django 1.8.x before 1.8.3 allows remote attackers to cause a denial of service (CPU consumption) via unspecified vectors.
- Record
GHSA-cqf7-ff9h-7967- CVSS 4.0
- 8.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N - CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-400, CWE-1333
- Updated
- 2026-11-02
OSVGHSA-cqf7-ff9h-7967
8.7
Django ReDoS in validators.URLValidator
validators.URLValidator in Django 1.8.x before 1.8.3 allows remote attackers to cause a denial of service (CPU consumption) via unspecified vectors.
- Record
GHSA-cqf7-ff9h-7967- CVSS 4.0
- 8.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N - CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-1333, CWE-400
- Updated
- 2026-11-02
OSVMGASA-2015-0293 No score
Updated python-django and python-django14 packages fix security vulnerabilities
Eric Peterson and Lin Hua Cheng discovered that a new empty record used to be created in the session storage every time a session was accessed and an unknown session key was provided in the request cookie. This could allow remote attackers to saturate the session store or cause other users' session records to be evicted (CVE-2015-5143).
Sjoerd Job Postmus discovered that some built-in validators did not properly reject newlines in input values. This could allow remote attackers to inject headers in emails and HTTP responses (CVE-2015-5144).
django.core.validators.URLValidator included a regular expression that was extremely slow to evaluate against certain inputs. This regular expression has been simplified and optimized (CVE-2015-5145).
The Mageia 4 python-django14 and Mageia 5 python-django packages have been updated to versions 1.4.21 and 1.8.3 respectively to fix these issues. Note that the CVE-2015-5145 issue only affected python-django.
Note: the python-django package in Mageia 4, based on Django 1.5.9, is no longer supported. Users of this package are advised to migrate to Mageia 5.
- Record
MGASA-2015-0293- Updated
- 2026-11-02
Show 10 moreShow less
OSVopenSUSE-SU-2023:0077-1 No score
Security update for python-Django
This update for python-Django fixes the following issues:
- CVE-2023-24580: Prevent DOS in file uploads. (boo#1208082)
update to 1.11.15
- CVE-2018-14574: Fixed Open redirect possibility in CommonMiddleware (boo#1102680)
- Fixed WKBWriter.write() and write_hex() for empty polygons on GEOS 3.6.1+
- Fixed a regression in Django 1.10 that could result in large memory usage when making edits using ModelAdmin.list_editable
- Fixed a regression in Django 1.11.12 where QuerySet.values() or values_list() after combining an annotated and unannotated queryset with union(), difference(), or intersection() crashed due to mismatching columns
- Fixed crashes in django.contrib.admindocs when a view is a callable object, such as django.contrib.syndication.views.Feed
- Fixed a regression in Django 1.11.8 where altering a field with a unique constraint may drop and rebuild more foreign keys than necessary
- Fixed a regression in Django 1.11.8 where combining two annotated values_list() querysets with union(), difference(), or intersection() crashed due to mismatching columns
- Fixed a regression in Django 1.11 where an empty choice could be initially selected for the SelectMultiple and CheckboxSelectMultiple widgets
-
Update to 1.11.11
- Fixes CVE-2018-7536, CVE-2018-7537
-
Update to 1.11.10 LTS
- Fixes CVE-2018-6188 boo#1077714, CVE-2017-7234, CVE-2017-7233, CVE-2017-12794
-
Change Requires: python-Pillow to python-imaging for compatibility with SLE-12 which provides PIL instead of Pillow.
-
Update to 1.9.9
Bugfixes
- Fixed invalid HTML in template postmortem on the debug page (#26938).
- Fixed some GIS database function crashes on MySQL 5.7 (#26657).
-
Update to 1.9.8 Fix XSS in admin’s add/change related popup (boo#988420) Unsafe usage of JavaScript’s Element.innerHTML could result in XSS in the admin’s add/change related popup. Element.textContent is now used to prevent execution of the data. The debug view also used innerHTML. Although a security issue wasn’t identified there, out of an abundance of caution it’s also updated to use textContent. Bugfixes
- Fixed missing varchar/text_pattern_ops index on CharField and TextField respectively when using AddField on PostgreSQL (#26889).
- Fixed makemessages crash on Python 2 with non-ASCII file names (#26897).
-
Update to 1.9.7 Bugfixes
- Removed the need for the request context processor on the admin login page to fix a regression in 1.9 (#26558).
- Fixed translation of password validators’ help_text in forms (#26544).
- Fixed a regression causing the cached template loader to crash when using lazy template names (#26603).
- Fixed on_commit callbacks execution order when callbacks make transactions (#26627).
- Fixed HStoreField to raise a ValidationError instead of crashing on non-dictionary JSON input (#26672).
- Fixed dbshell crash on PostgreSQL with an empty database name (#26698).
- Fixed a regression in queries on a OneToOneField that has to_field and primary_key=True (#26667).
-
Update to 1.9.6 Bugfixes
- Added support for relative path redirects to the test client and to SimpleTestCase.assertRedirects() because Django 1.9 no longer converts redirects to absolute URIs (#26428).
- Fixed TimeField microseconds round-tripping on MySQL and SQLite (#26498).
- Prevented makemigrations from generating infinite migrations for a model field that references a functools.partial (#26475).
- Fixed a regression where SessionBase.pop() returned None rather than raising a KeyError for nonexistent values (#26520).
- Fixed a regression causing the cached template loader to crash when using template names starting with a dash (#26536).
- Restored conversion of an empty string to null when saving values of GenericIPAddressField on SQLite and MySQL (#26557).
- Fixed a makemessages…
- Record
openSUSE-SU-2023:0077-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:10066-1 No score
python-Django-1.9.12-1.1 on GA media
These are all security issues fixed in the python-Django-1.9.12-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:10066-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:11205-1 No score
python36-Django-3.2.7-2.3 on GA media
These are all security issues fixed in the python36-Django-3.2.7-2.3 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:11205-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:13887-1 No score
python310-Django-4.2.11-2.1 on GA media
These are all security issues fixed in the python310-Django-4.2.11-2.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:13887-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:14208-1 No score
python310-Django4-4.2.14-1.1 on GA media
These are all security issues fixed in the python310-Django4-4.2.14-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:14208-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:10005-1 No score
python312-Django6-6.0-1.1 on GA media
These are all security issues fixed in the python312-Django6-6.0-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:10005-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:11235-1 No score
python313-Django4-4.2.30-4.1 on GA media
These are all security issues fixed in the python313-Django4-4.2.30-4.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:11235-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:11248-1 No score
python313-Django-5.2.16-1.1 on GA media
These are all security issues fixed in the python313-Django-5.2.16-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:11248-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:11270-1 No score
python313-Django5-5.2.16-1.1 on GA media
These are all security issues fixed in the python313-Django5-5.2.16-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:11270-1- Updated
- 2026-11-02
OSVPYSEC-2015-21 No score
validators.URLValidator in Django 1.8.x before 1.8.3 allows remote attackers to cause a denial of service (CPU consumption) via unspecified vectors.
- Record
PYSEC-2015-21- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
djangoPyPI |
1.8a1 up to 1.8.3 | 1.8.3 |
djangoPyPI |
1.8a1 up to 1.8.3, plus listed versions 1.81.8.11.8.21.8b11.8b21.8c1 |
1.8.3 |
python-django14Mageia:4 |
before 1.4.21-1.mga4 | 1.4.21-1.mga4 |
python-djangoMageia:5 |
before 1.8.3-1.mga5 | 1.8.3-1.mga5 |
djangoPyPI |
1.8 up to 1.8.3, plus listed versions 1.8.11.8.2 |
1.8.3 |
python-DjangoSUSE:Package Hub 12 SP1 |
before 1.11.15-2.1 | 1.11.15-2.1 |
python-DjangoopenSUSE:Tumbleweed |
before 1.9.12-1.1 | 1.9.12-1.1 |
python-DjangoopenSUSE:Tumbleweed |
before 3.2.7-2.3 | 3.2.7-2.3 |
python-DjangoopenSUSE:Tumbleweed |
before 4.2.11-2.1 | 4.2.11-2.1 |
python-Django4openSUSE:Tumbleweed |
before 4.2.14-1.1 | 4.2.14-1.1 |
Show 4 moreShow less
| Package | Affected | Fixed |
|---|---|---|
python-Django6openSUSE:Tumbleweed |
before 6.0-1.1 | 6.0-1.1 |
python-Django4openSUSE:Tumbleweed |
before 4.2.30-4.1 | 4.2.30-4.1 |
python-DjangoopenSUSE:Tumbleweed |
before 5.2.16-1.1 | 5.2.16-1.1 |
python-Django5openSUSE:Tumbleweed |
before 5.2.16-1.1 | 5.2.16-1.1 |
History
| When | Changed | Sources |
|---|---|---|
| 2026-11-03 | aliases | EUVD |
| 2026-11-02 | created | CVE List, GitHub Advisories, NVD, OSV |
References
security.gentoo.org/glsa/201510-06
djangoproject.com/weblog/2015/jul/08/security-releases
securityfocus.com/bid/75691
securitytracker.com/id/1032820
nvd.nist.gov/vuln/detail/CVE-2015-5145
github.com/django/django/commit/8f9a4d3a2bc42f14bb437defd30c7315adbff22c
Show 110 moreShow less
github.com/django/django/blob/4555a823fd57e261e1b19c778429473256c8ea08/docs/releases/1.8.3.txt
web.archive.org/web/20150924150801/http://www.securitytracker.com/id/1032820
web.archive.org/web/20170526042302/http://www.securityfocus.com/bid/75691
github.com/pypa/advisory-database/tree/main/vulns/django/PYSEC-2015-21.yaml
github.com/advisories/GHSA-cqf7-ff9h-7967
github.com/django/django
advisories.mageia.org/MGASA-2015-0293.html
bugs.mageia.org/show_bug.cgi?id=16334
debian.org/security/2015/dsa-3305
lists.opensuse.org/archives/list/[email protected]/thread/OGS4NP24275NERRPQV6A6EONV6W3C2SK
bugzilla.suse.com/1077714
bugzilla.suse.com/1102680
bugzilla.suse.com/1208082
bugzilla.suse.com/937524
bugzilla.suse.com/952198
bugzilla.suse.com/988420
suse.com/security/cve/CVE-2015-3982
suse.com/security/cve/CVE-2015-5145
suse.com/security/cve/CVE-2015-5963
suse.com/security/cve/CVE-2017-12794
suse.com/security/cve/CVE-2017-7233
suse.com/security/cve/CVE-2017-7234
suse.com/security/cve/CVE-2018-14574
suse.com/security/cve/CVE-2018-6188
suse.com/security/cve/CVE-2018-7536
suse.com/security/cve/CVE-2018-7537
suse.com/security/cve/CVE-2023-24580
suse.com/security/cve/CVE-2016-7401
suse.com/security/cve/CVE-2018-16984
suse.com/security/cve/CVE-2019-11358
suse.com/security/cve/CVE-2019-12308
suse.com/security/cve/CVE-2019-12781
suse.com/security/cve/CVE-2019-14232
suse.com/security/cve/CVE-2019-19118
suse.com/security/cve/CVE-2019-19844
suse.com/security/cve/CVE-2019-3498
suse.com/security/cve/CVE-2019-6975
suse.com/security/cve/CVE-2020-13254
suse.com/security/cve/CVE-2020-13596
suse.com/security/cve/CVE-2020-24583
suse.com/security/cve/CVE-2020-24584
suse.com/security/cve/CVE-2020-7471
suse.com/security/cve/CVE-2020-9402
suse.com/security/cve/CVE-2021-31542
suse.com/security/cve/CVE-2021-32052
suse.com/security/cve/CVE-2021-33203
suse.com/security/cve/CVE-2021-33571
suse.com/security/cve/CVE-2021-35042
suse.com/security/cve/CVE-2021-45115
suse.com/security/cve/CVE-2021-45452
suse.com/security/cve/CVE-2022-22818
suse.com/security/cve/CVE-2022-23833
suse.com/security/cve/CVE-2022-28346
suse.com/security/cve/CVE-2022-28347
suse.com/security/cve/CVE-2022-34265
suse.com/security/cve/CVE-2022-36359
suse.com/security/cve/CVE-2022-41323
suse.com/security/cve/CVE-2023-23969
suse.com/security/cve/CVE-2023-31047
suse.com/security/cve/CVE-2023-36053
suse.com/security/cve/CVE-2023-41164
suse.com/security/cve/CVE-2023-43665
suse.com/security/cve/CVE-2024-24680
suse.com/security/cve/CVE-2024-27351
suse.com/security/cve/CVE-2024-38875
suse.com/security/cve/CVE-2024-39329
suse.com/security/cve/CVE-2024-39330
suse.com/security/cve/CVE-2024-39614
suse.com/security/cve/CVE-2024-41989
suse.com/security/cve/CVE-2024-41990
suse.com/security/cve/CVE-2024-41991
suse.com/security/cve/CVE-2024-42005
suse.com/security/cve/CVE-2024-45230
suse.com/security/cve/CVE-2024-45231
suse.com/security/cve/CVE-2024-53907
suse.com/security/cve/CVE-2024-53908
suse.com/security/cve/CVE-2024-56374
suse.com/security/cve/CVE-2025-13372
suse.com/security/cve/CVE-2025-26699
suse.com/security/cve/CVE-2025-27556
suse.com/security/cve/CVE-2025-32873
suse.com/security/cve/CVE-2025-48432
suse.com/security/cve/CVE-2025-57833
suse.com/security/cve/CVE-2025-59681
suse.com/security/cve/CVE-2025-59682
suse.com/security/cve/CVE-2025-64459
suse.com/security/cve/CVE-2025-64460
suse.com/security/cve/CVE-2026-48588
suse.com/security/cve/CVE-2026-53877
suse.com/security/cve/CVE-2026-53878
suse.com/security/cve/CVE-2025-13473
suse.com/security/cve/CVE-2025-14550
suse.com/security/cve/CVE-2026-1207
suse.com/security/cve/CVE-2026-1285
suse.com/security/cve/CVE-2026-1287
suse.com/security/cve/CVE-2026-1312
suse.com/security/cve/CVE-2026-25674
suse.com/security/cve/CVE-2026-33033
suse.com/security/cve/CVE-2026-33034
suse.com/security/cve/CVE-2026-35192
suse.com/security/cve/CVE-2026-35193
suse.com/security/cve/CVE-2026-3902
suse.com/security/cve/CVE-2026-4277
suse.com/security/cve/CVE-2026-4292
suse.com/security/cve/CVE-2026-48587
suse.com/security/cve/CVE-2026-5766
suse.com/security/cve/CVE-2026-6873
suse.com/security/cve/CVE-2026-6907
suse.com/security/cve/CVE-2026-7666
suse.com/security/cve/CVE-2026-8404
Left out here: the rest of 1 source description. The JSON record has them.