CVE-2026-25673
Published: 03 March 2026
Summary
CVE-2026-25673 is a high-severity Uncontrolled Resource Consumption (CWE-400) vulnerability in Djangoproject Django. Its CVSS base score is 7.5 (High).
Operationally, exploitation aligns with the MITRE ATT&CK technique Application or System Exploitation (T1499.004); ranked at the 47.3th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.
The strongest mitigations our analysis identified are NIST 800-53 SC-5 (Denial-of-service Protection) and SI-2 (Flaw Remediation).
Deeper analysis
CVE-2026-25673 is a denial-of-service vulnerability in the Django web framework, specifically affecting the `URLField.to_python()` method. This method invokes `urllib.parse.urlsplit()`, which on Windows systems performs NFKC normalization that becomes disproportionately slow when processing large URL inputs containing certain Unicode characters. The issue impacts Django versions 6.0 before 6.0.3, 5.2 before 5.2.12, and 4.2 before 4.2.29; earlier unsupported series such as 5.0.x, 4.1.x, and 3.2.x were not evaluated but may also be vulnerable.
A remote, unauthenticated attacker can exploit this vulnerability by submitting large URL inputs with the problematic Unicode characters to any Django application that processes URLs via `URLField`. The resulting computational overload leads to significant performance degradation or complete denial of service, with a CVSS v3.1 base score of 7.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H) reflecting its network accessibility, low complexity, and high availability impact. The associated CWEs are CWE-400 (Uncontrolled Resource Consumption) and CWE-770 (Allocation of Resources Without Limits or Throttling).
Django's security advisories, detailed in their release notes, announcement group, and weblog, recommend upgrading to the fixed versions—6.0.3, 5.2.12, or 4.2.29—to mitigate the issue. The vulnerability was reported by Seokchan Yoon.
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2026-9294
Vulnerability details
An issue was discovered in 6.0 before 6.0.3, 5.2 before 5.2.12, and 4.2 before 4.2.29. `URLField.to_python()` in Django calls `urllib.parse.urlsplit()`, which performs NFKC normalization on Windows that is disproportionately slow for certain Unicode characters, allowing a remote attacker to cause…
more
denial of service via large URL inputs containing these characters. Earlier, unsupported Django series (such as 5.0.x, 4.1.x, and 3.2.x) were not evaluated and may also be affected. Django would like to thank Seokchan Yoon for reporting this issue.
- CWE(s)
Related Threats
MITRE ATT&CK Enterprise TechniquesAI
Why these techniques?
Remote unauthenticated exploitation of Django URLField causes application-level resource exhaustion/DoS on crafted Unicode input, directly enabling T1499.004 (Application or System Exploitation).
CVEs Like This One
Affected Assets
Mitigating Controls
Mitigating Controls (NIST 800-53 r5) AI
Flaw remediation directly addresses this CVE by requiring timely patching of the vulnerable Django versions to fixed releases like 6.0.3, 5.2.12, or 4.2.29.
Denial-of-service protection implements mechanisms like rate limiting and traffic filtering to block resource exhaustion from large malicious URL inputs.
Information input restrictions limit URL length and character sets to prevent processing of disproportionately large inputs with problematic Unicode characters.