Potential denial-of-service vulnerability via nested geometry collections (djangoproject Django)
At a glance
- Source
- NVD
- EPSS
- EPSS 1.11 % · percentile 66 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- DSF
- NVD status
- Modified
Description
An issue was discovered in Django 6.0 before 6.0.9 and 5.2 before 5.2.18. GeoDjango's `django.contrib.gis.geos.GEOSGeometry` is subject to a potential denial-of-service when parsing deeply nested `GEOMETRYCOLLECTION` objects supplied as well-known text (WKT), well-known binary (WKB), or hex-encoded WKB, which triggers unbounded recursion and a segmentation fault in the underlying GEOS library. Spatial field lookups and the `django.contrib.gis.forms.GeometryField` form field are also affected. Earlier, unsupported Django series (such as 5.1.x, 5.0.x, and 4.2.x) were not evaluated and may also be affected. Django would like to thank Andrew MacPherson and kimchunbok_ for reporting this issue.
Weaknesses (CWE)
- CWE-674 — Uncontrolled Recursion
References
- https://docs.djangoproject.com/en/dev/releases/security/
- https://groups.google.com/g/django-announce
- https://github.com/django/django/commit/d2e59b77fe18de318a8272c2a7bbc798d84d1d0d
- https://github.com/django/django/commit/9e4a3f186b6b07b483bfd9195ea06734663fcd06
- https://github.com/django/django/commit/6af5da31775417c610dbf9c3f1b5b8333d42daf6
- https://github.com/django/django/commit/ba80833fa656dd09660b97c4429331067db1b080
- https://www.djangoproject.com/weblog/2026/aug/04/security-releases/
- https://github.com/django/django/commit/62ef9d40cf4ea75f16518436b44b8ab2515340df
- https://github.com/django/django/commit/75d401a1491e04a907ed745c128836d51c982c0f
- https://github.com/django/django/commit/4353dfb56f8ba3a6fccc4bdd7f2ef2fbee3aa638
- https://github.com/django/django/commit/1eafa1a80f1363283f89208ba4499ed54e35f085
Scores
| Version | Score | Vector | Scored by |
|---|---|---|---|
| CVSS 3.1 | MEDIUM 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L | DSF |
| CVSS 4.0 | MEDIUM 6.9 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N | DSF |
| CVSS 4.0 | MEDIUM 6.9 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X | NVD · 6a34fbeb-21d4-45e7-8e0a-62b95bc12c92 (Secondary) |
| CVSS 3.1 | MEDIUM 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L | NVD · 6a34fbeb-21d4-45e7-8e0a-62b95bc12c92 (Secondary) |
Advisories
- GHSA-q238-5cxm-5c9h — Django GeoDjango vulnerable to denial of service through deeply nested geometry collections
- PYSEC-2026-3717 — An issue was discovered in Django 5.2 before 5.2.17 and 6.0 before 6.0.8.
European references
- ENISA EUVD · EUVD-2026-52749
- GCVE · GCVE-0-2026-15830
Affected configurations (NVD CPE)
cpe:2.3:a:djangoproject:django:*:*:*:*:*:*:*:*< 5.2.17cpe:2.3:a:djangoproject:django:*:*:*:*:*:*:*:*≥ 6.0 < 6.0.8
Affected products
| Product | Versions |
|---|---|
| djangoproject · Django | affected 6.0 < 6.0.9 ; unaffected 6.0.9 ; affected 5.2 < 5.2.18 ; unaffected 5.2.18 |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST — attribution requested |
| ENISA EUVD | ENISA — reproduction authorised, source acknowledged |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain — this product uses data from the NVD API but is not endorsed or certified by the NVD |