CyberRota Analysis
AI-GeneratedDjango versions 5.2 prior to 5.2.17 and 6.0 prior to 6.0.8 are vulnerable due to the `django.contrib.admin.utils.display_for_field()` function rendering `URLField` values as clickable links without proper URL validation. This flaw can lead to cross-site scripting (XSS) attacks against staff users who interact with unsafe links, particularly in applications that store unvalidated `URLField` data through direct writes or untrusted imports. Organizations using affected Django versions should prioritize patching to mitigate potential XSS risks.
Public Exploit Signal
A public exploit, PoC, GitHub repository or Metasploit reference was detected for this CVE.
Note: these links are listed for security research and verification purposes only.
Original NVD 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.