Description
An issue was discovered in Django 5.2 before 5.2.17 and 6.0 before 6.0.8.
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.
Published: 2026-08-04
Score: 6.9 Medium
EPSS: 1.0% Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability arises when deeply nested GEOMETRYCOLLECTION objects are parsed as well‑known text, well‑known binary, or hex‑encoded binary, causing the GEOS geometry library to recurse without bound and ultimately trigger a segmentation fault. This results in an application crash that can be used to deny service to users. The weakness is classified as unbounded recursion (CWE‑674) and missing input validation (CWE‑606).

Affected Systems

The affected product is Django, specifically the GeoDjango component. Versions prior to 5.2.17 in the 5.2 series and prior to 6.0.8 in the 6.0 series are impacted. Earlier Django releases such as 5.1.x, 5.0.x, and 4.2.x have not been evaluated but are suspected to be vulnerable as well.

Risk and Exploitability

The CVSS score of 6.9 indicates moderate severity. While the EPSS score is not available, the fact that exploitation requires delivering a specially crafted geometry object suggests that the vulnerability can be triggered in any environment that accepts untrusted geometry input. The attack vector is likely remote via public API or web forms that process geometry data, leading to a denial‑of‑service condition through application crash. The vulnerability is not listed in CISA’s KEV catalog, but the impact of a service crash for any critical application should not be underestimated.

Generated by OpenCVE AI on August 5, 2026 at 13:40 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Django to version 5.2.17 or later, or to version 6.0.8 or later to apply the official fix for the recursion issue
  • If upgrading is temporarily infeasible, restrict or validate incoming geometry data by capping maximum nesting depth to prevent the parser from reaching the recursion limit
  • Monitor application logs for crashes or segmentation faults related to GEOS geometry parsing and take corrective action promptly

Generated by OpenCVE AI on August 5, 2026 at 13:40 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 18 Aug 2026 16:45:00 +0000

Type Values Removed Values Added
CPEs cpe:2.3:a:djangoproject:django:*:*:*:*:*:*:*:*

Wed, 05 Aug 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-606
References
Metrics threat_severity

None

threat_severity

Moderate


Tue, 04 Aug 2026 18:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 04 Aug 2026 18:15:00 +0000

Type Values Removed Values Added
First Time appeared Djangoproject
Djangoproject django
Vendors & Products Djangoproject
Djangoproject django

Tue, 04 Aug 2026 16:30:00 +0000

Type Values Removed Values Added
Description An issue was discovered in Django 5.2 before 5.2.17 and 6.0 before 6.0.8. 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.
Title Potential denial-of-service vulnerability via nested geometry collections
Weaknesses CWE-674
References
Metrics cvssV3_1

{'score': 5.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L'}

cvssV4_0

{'score': 6.9, 'vector': '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'}


Subscriptions

Djangoproject Django
cve-icon MITRE

Status: PUBLISHED

Assigner: DSF

Published:

Updated: 2026-08-04T17:21:28.167Z

Reserved: 2026-07-15T15:01:48.803Z

Link: CVE-2026-15830

cve-icon Vulnrichment

Updated: 2026-08-04T17:21:22.511Z

cve-icon NVD

Status : Analyzed

Published: 2026-08-04T17:16:46.593

Modified: 2026-08-18T16:30:33.827

Link: CVE-2026-15830

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-04T15:48:34Z

Links: CVE-2026-15830 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-05T13:45:03Z

Weaknesses
  • CWE-606

    Unchecked Input for Loop Condition

  • CWE-674

    Uncontrolled Recursion