CVE-2026-15920
Fixed in a distro release EPSS <1%CVSS 6.1
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.
Products: djangoproject django
Distro releases
| Release | Package | Fixed in |
|---|---|---|
| Debian 12 | python-django | 3:3.2.25-0+deb12u4 |
| Debian 13 | python-django | no fix |
| Debian 14 | python-django | 3:5.2.17-1 |
| SUSE Linux Enterprise Module for Package Hub 15 SP7 | python-Django | 4.2.11-150600.3.65.1 |
| Ubuntu 22.04 LTS | python-django | no fix |
| Ubuntu 24.04 LTS | python-django | no fix |
| Ubuntu 26.04 LTS | python-django | no fix |
| Ubuntu 26.10 | python-django | no fix |
| Ubuntu Pro 14.04 LTS | python-django | no fix |
| Ubuntu Pro 16.04 LTS | python-django | no fix |
| Ubuntu Pro 18.04 LTS | python-django | no fix |
| Ubuntu Pro 20.04 LTS | python-django | no fix |
| openSUSE Leap 16.0 | python-Django | 5.2.4-bp160.11.1 |
| openSUSE Tumbleweed | python-Django | 6.0.8-1.1 |
| openSUSE Tumbleweed | python-Django4 | 4.2.30-5.1 |
| openSUSE Tumbleweed | python-Django5 | 5.2.17-1.1 |