CVE-2026-15920 Potential cross-site scripting via URLField values in the admin

Medium 5.1 Published Updated

Attackers can execute scripts in the Django admin interface if unsafe URLs are stored via non-standard methods, targeting staff users.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
A user has to click or open something
Fix
Available

What is CVE-2026-15920?

CVE-2026-15920 is a medium-severity cross-site scripting vulnerability in Djangoproject Django, published on 4 Aug 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.

Official 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.

Weakness: CWE-83

Which versions are affected by CVE-2026-15920?

1 open source package ship an affected version, including django. It affects 1 product.

PackageAffectedFixed in
django BitnamiFrom 5.2.05.2.17, 6.0.8

Products include Djangoproject Django.

How do I fix CVE-2026-15920?

Upgrade django to a fixed version for your release line: 5.2.17 or 6.0.8.

Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.

Is CVE-2026-15920 being exploited?

There is no known exploitation of CVE-2026-15920 in the wild and no public exploit code.

All Djangoproject Django vulnerabilities

Sources

Also known as BIT-django-2026-15920, DEBIAN-CVE-2026-15920, GHSA-8rmj-xgq5-w9qm, MINI-qhgv-9w28-58gq, UBUNTU-CVE-2026-15920.

Is CVE-2026-15920 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free