Potential cross-site scripting via URLField values in the admin
Summary
| CVE | CVE-2026-15920 |
|---|---|
| State | PUBLISHED |
| Assigner | DSF |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2026-08-04 17:16:46 UTC |
| Updated | 2026-08-04 18:16:45 UTC |
| Description | 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 staff users who click the link. Exploitation requires the unsafe value to already be stored in the database. `URLField` validation through a `ModelForm` or the admin rejects unsafe schemes, so this affects applications that persist `URLField` data without running model validation, for example through direct queryset writes, deserialization, or bulk import of untrusted input. Django would like to thank Egor Saltykov for reporting this issue. |
Risk And Classification
Primary CVSS: v4.0 5.1 MEDIUM from 6a34fbeb-21d4-45e7-8e0a-62b95bc12c92
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Problem Types: CWE-83 | CWE-83 CWE-83: Improper Neutralization of Script in Attributes in a Web Page
| Version | Source | Type | Score | Severity | Vector |
|---|---|---|---|---|---|
| 4.0 | 6a34fbeb-21d4-45e7-8e0a-62b95bc12c92 | Secondary | 5.1 | MEDIUM | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N/E:X/C... |
| 4.0 | CNA | DECLARED | 5.1 | MEDIUM | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N |
| 3.1 | 6a34fbeb-21d4-45e7-8e0a-62b95bc12c92 | Secondary | 6.1 | MEDIUM | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N |
| 3.1 | CNA | DECLARED | 6.1 | MEDIUM | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N |
CVSS v4.0 Breakdown
Attack Vector
NetworkAttack Complexity
LowAttack Requirements
NonePrivileges Required
NoneUser Interaction
ActiveConfidentiality
NoneIntegrity
NoneAvailability
NoneSub Conf.
LowSub Integrity
LowSub Availability
NoneCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CVSS v3.1 Breakdown
Attack Vector
NetworkAttack Complexity
LowPrivileges Required
NoneUser Interaction
RequiredScope
ChangedConfidentiality
LowIntegrity
LowAvailability
NoneCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Vendor Declared Affected Products
| Source | Vendor | Product | Version | Platforms |
|---|---|---|---|---|
| CNA | Djangoproject | Django | affected 6.0 6.0.8 python | Not specified |
| CNA | Djangoproject | Django | unaffected 6.0.8 python | Not specified |
| CNA | Djangoproject | Django | affected 5.2 5.2.17 python | Not specified |
| CNA | Djangoproject | Django | unaffected 5.2.17 python | Not specified |
References
| Reference | Source | Link | Tags |
|---|---|---|---|
| github.com/django/django/commit/5a260d309a4c8010c2ebda24eb758a5d95e2508a | 6a34fbeb-21d4-45e7-8e0a-62b95bc12c92 | github.com | |
| github.com/django/django/commit/13debb622a32720bda1bccda7622fd14fbf3931b | 6a34fbeb-21d4-45e7-8e0a-62b95bc12c92 | github.com | |
| www.djangoproject.com/weblog/2026/aug/04/security-releases | 6a34fbeb-21d4-45e7-8e0a-62b95bc12c92 | www.djangoproject.com | |
| github.com/django/django/commit/47511a21026cdd721d8fbf8571cc079bc38bb46d | 6a34fbeb-21d4-45e7-8e0a-62b95bc12c92 | github.com | |
| groups.google.com/g/django-announce | 6a34fbeb-21d4-45e7-8e0a-62b95bc12c92 | groups.google.com | |
| docs.djangoproject.com/en/dev/releases/security | 6a34fbeb-21d4-45e7-8e0a-62b95bc12c92 | docs.djangoproject.com | |
| github.com/django/django/commit/b9adb81339cc418f8f56b1050cca6dfec3ab6349 | 6a34fbeb-21d4-45e7-8e0a-62b95bc12c92 | github.com | |
| CVE Program record | CVE.ORG | www.cve.org | canonical |
| NVD vulnerability detail | NVD | nvd.nist.gov | canonical, analysis |
Vendor Comments And Credit
Discovery Credit
CNA: Egor Saltykov (en)
CNA: Natalia Bidart (en)
CNA: Natalia Bidart (en)
Additional Advisory Data
| Source | Time | Event |
|---|---|---|
| CNA | 2026-07-13T00:00:00.000Z | Initial report received. |
| CNA | 2026-07-21T00:00:00.000Z | Vulnerability confirmed. |
| CNA | 2026-08-04T10:00:00.000Z | Security release issued. |
There are currently no legacy QID mappings associated with this CVE.