CVE-2026-25673
Potential denial-of-service vulnerability in URLField via Unicode normalization on Windows
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 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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
7.5
Potential denial-of-service vulnerability in URLField via Unicode normalization on Windows
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 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.
- Record
CVE-2026-25673- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-400, CWE-770
- Updated
- 2026-11-02
EUVDEUVD-2026-9294
7.5
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 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.
- Record
EUVD-2026-9294- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-8p8v-wh79-9r56
7.5
Django vulnerable to Uncontrolled Resource Consumption
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 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.
- Record
GHSA-8p8v-wh79-9r56- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-400, CWE-770
- Updated
- 2026-11-02
NVD
7.5
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 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.
- Record
CVE-2026-25673- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-400, CWE-770
- Updated
- 2026-11-02
OSVALPINE-CVE-2026-25673
7.5
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 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.
- Record
ALPINE-CVE-2026-25673- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-03
OSV
7.5
Potential denial-of-service vulnerability in URLField via Unicode normalization on Windows
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 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.
- Record
CVE-2026-25673- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-400
- Updated
- 2026-11-02
Show 8 moreShow less
OSVGHSA-8p8v-wh79-9r56
7.5
Django vulnerable to Uncontrolled Resource Consumption
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 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.
- Record
GHSA-8p8v-wh79-9r56- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-400, CWE-770
- Updated
- 2026-11-02
OSVPYSEC-2026-2448
7.5
Django vulnerable to Uncontrolled Resource Consumption
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 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.
- Record
PYSEC-2026-2448- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVBIT-django-2026-25673 No score
Potential denial-of-service vulnerability in URLField via Unicode normalization on Windows
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 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.
- Record
BIT-django-2026-25673- Updated
- 2026-11-02
OSVCLSA-2026-1788167080 No score
TuxCare security update for django (5 CVEs)
TuxCare rebuilt django to address 5 CVEs. Fixed in 4.2.post9+tuxcare.
- Record
CLSA-2026-1788167080- Updated
- 2026-11-02
OSVCLSA-2026-1793609074 No score
TuxCare security update for django (7 CVEs)
TuxCare rebuilt django to address 7 CVEs. Fixed in 5.1.10.post8+tuxcare.
- Record
CLSA-2026-1793609074- Updated
- 2026-11-02
OSVCLSA-2026-1793611298 No score
TuxCare security update for django (6 CVEs)
TuxCare rebuilt django to address 6 CVEs. Fixed in 4.0.post26+tuxcare.
- Record
CLSA-2026-1793611298- Updated
- 2026-11-02
OSVCLSA-2026-1793695167 No score
TuxCare security update for django (7 CVEs)
TuxCare rebuilt django to address 7 CVEs. Fixed in 5.1.9.post10+tuxcare.
- Record
CLSA-2026-1793695167- Updated
- 2026-11-03
OSVCLSA-2026-1793696695 No score
TuxCare security update for django (9 CVEs)
TuxCare rebuilt django to address 9 CVEs. Fixed in 3.2.25.post14+tuxcare.
- Record
CLSA-2026-1793696695- Updated
- 2026-11-03
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
djangoPyPI |
6.0 up to 6.0.3 | 6.0.3 |
djangoPyPI |
5.2 up to 5.2.12 | 5.2.12 |
djangoPyPI |
4.2 up to 4.2.29 | 4.2.29 |
py3-djangoAlpine:v3.23 |
before 4.2.29-r0 | 4.2.29-r0 |
djangoBitnami |
4.2.0 up to 4.2.29, 5.2.0 up to 5.2.12, 6.0.0 up to 6.0.3 | 4.2.295.2.126.0.3 |
djangoTuxCare:PyPI |
4.2 up to 4.2.post9+tuxcare, plus listed versions 4.2.post1+tuxcare4.2.post2+tuxcare4.2.post3+tuxcare4.2.post4+tuxcare4.2.post5+tuxcare4.2.post6+tuxcare4.2.post7+tuxcare4.2.post8+tuxcare |
4.2.post9+tuxcare |
djangoTuxCare:PyPI |
5.1.10 up to 5.1.10.post8+tuxcare, plus listed versions 5.1.10.post1+tuxcare5.1.10.post2+tuxcare5.1.10.post3+tuxcare5.1.10.post4+tuxcare5.1.10.post5+tuxcare5.1.10.post6+tuxcare5.1.10.post7+tuxcare |
5.1.10.post8+tuxcare |
djangoTuxCare:PyPI |
4.0 up to 4.0.post26+tuxcare, plus listed versions 4.0.post1+tuxcare4.0.post10+tuxcare4.0.post11+tuxcare4.0.post12+tuxcare4.0.post13+tuxcare Show 20 moreShow less4.0.post14+tuxcare4.0.post15+tuxcare4.0.post16+tuxcare4.0.post17+tuxcare4.0.post18+tuxcare4.0.post19+tuxcare4.0.post2+tuxcare4.0.post20+tuxcare4.0.post21+tuxcare4.0.post22+tuxcare4.0.post23+tuxcare4.0.post24+tuxcare4.0.post25+tuxcare4.0.post3+tuxcare4.0.post4+tuxcare4.0.post5+tuxcare4.0.post6+tuxcare4.0.post7+tuxcare4.0.post8+tuxcare4.0.post9+tuxcare |
4.0.post26+tuxcare |
djangoTuxCare:PyPI |
5.1.9 up to 5.1.9.post10+tuxcare, plus listed versions 5.1.9.post1+tuxcare5.1.9.post2+tuxcare5.1.9.post3+tuxcare5.1.9.post4+tuxcare5.1.9.post5+tuxcare Show 4 moreShow less5.1.9.post6+tuxcare5.1.9.post7+tuxcare5.1.9.post8+tuxcare5.1.9.post9+tuxcare |
5.1.9.post10+tuxcare |
djangoTuxCare:PyPI |
3.2.25 up to 3.2.25.post14+tuxcare, plus listed versions 3.2.25.post1+tuxcare3.2.25.post10+tuxcare3.2.25.post11+tuxcare3.2.25.post12+tuxcare3.2.25.post13+tuxcare Show 8 moreShow less3.2.25.post2+tuxcare3.2.25.post3+tuxcare3.2.25.post4+tuxcare3.2.25.post5+tuxcare3.2.25.post6+tuxcare3.2.25.post7+tuxcare3.2.25.post8+tuxcare3.2.25.post9+tuxcare |
3.2.25.post14+tuxcare |
Show 4 moreShow less
| Package | Affected | Fixed |
|---|---|---|
djangoPyPI |
6.0 up to 6.0.3, plus listed versions 6.0.16.0.2 |
6.0.3 |
djangoPyPI |
5.2 up to 5.2.12, plus listed versions 5.2.15.2.105.2.115.2.25.2.3 Show 6 moreShow less5.2.45.2.55.2.65.2.75.2.85.2.9 |
5.2.12 |
djangoPyPI |
4.2 up to 4.2.29, plus listed versions 4.2.14.2.104.2.114.2.124.2.13 Show 23 moreShow less4.2.144.2.154.2.164.2.174.2.184.2.194.2.24.2.204.2.214.2.224.2.234.2.244.2.254.2.264.2.274.2.284.2.34.2.44.2.54.2.64.2.74.2.84.2.9 |
4.2.29 |
djangoPyPI |
4.2 up to 4.2.29, 5.2 up to 5.2.12, 6.0 up to 6.0.3, plus listed versions 4.2.14.2.104.2.114.2.124.2.13 Show 36 moreShow less4.2.144.2.154.2.164.2.174.2.184.2.194.2.24.2.204.2.214.2.224.2.234.2.244.2.254.2.264.2.274.2.284.2.34.2.44.2.54.2.64.2.74.2.84.2.95.2.15.2.105.2.115.2.25.2.35.2.45.2.55.2.65.2.75.2.85.2.96.0.16.0.2 |
4.2.295.2.126.0.3 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, aliases | OSV | |
| affected, aliases, references | OSV | |
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-25673 is a high vulnerability (CVSS 7.5) in Djangoproject Django, published March 3, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.84%, the 57th percentile. Fixed in django 6.0.3.