CVE-2026-15830
Full vulnerability record from the local CVENow database.
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.
View original CVE JSON
{
"id": "CVE-2026-15830",
"sourceIdentifier": "6a34fbeb-21d4-45e7-8e0a-62b95bc12c92",
"published": "2026-08-04T17:16:46.593",
"lastModified": "2026-10-24T16:10:00.153",
"vulnStatus": "Modified",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "An issue was discovered in Django 6.0 before 6.0.9 and 5.2 before 5.2.18.\nGeoDjango'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.\nEarlier, unsupported Django series (such as 5.1.x, 5.0.x, and 4.2.x) were not evaluated and may also be affected.\nDjango would like to thank Andrew MacPherson and kimchunbok_ for reporting this issue."
},
{
"lang": "es",
"value": "Se descubrió un problema en Django 6.0 anterior a la versión 6.0.9 y 5.2 anterior a la versión 5.2.18. La clase ’django.contrib.gis.geos.GEOSGeometry’ de GeoDjango es susceptible a una posible denegación de servicio al analizar objetos ’GEOMETRYCOLLECTION’ profundamente anidados, proporcionados como texto conocido (WKT), binario conocido (WKB) o WKB codificado en hexadecimal, lo que desencadena una recursión ilimitada y un fallo de segmentación en la biblioteca GEOS subyacente. Las búsquedas de campos espaciales y el campo de formulario ’django.contrib.gis.forms.GeometryField’ también se ven afectados. Series de Django anteriores y sin soporte (como 5.1.x, 5.0.x y 4.2.x) no fueron evaluadas y también podrían verse afectadas. Django desea agradecer a Andrew MacPherson y kimchunbok_ por informar de este problema."
}
],
"affected": [
{
"source": "6a34fbeb-21d4-45e7-8e0a-62b95bc12c92",
"affectedData": [
{
"vendor": "djangoproject",
"product": "Django",
"defaultStatus": "unaffected",
"collectionURL": "https://pypi.org/project/Django/",
"packageName": "django",
"repo": "https://github.com/django/django/",
"versions": [
{
"version": "6.0",
"lessThan": "6.0.9",
"versionType": "python",
"status": "affected"
},
{
"version": "6.0.9",
"versionType": "python",
"status": "unaffected"
},
{
"version": "5.2",
"lessThan": "5.2.18",
"versionType": "python",
"status": "affected"
},
{
"version": "5.2.18",
"versionType": "python",
"status": "unaffected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV40": [
{
"source": "6a34fbeb-21d4-45e7-8e0a-62b95bc12c92",
"type": "Secondary",
"cvssData": {
"version": "4.0",
"vectorString": "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",
"baseScore": 6.9,
"baseSeverity": "MEDIUM",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"privilegesRequired": "NONE",
"userInteraction": "NONE",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "NONE",
"vulnAvailabilityImpact": "LOW",
"subConfidentialityImpact": "NONE",
"subIntegrityImpact": "NONE",
"subAvailabilityImpact": "NONE",
"exploitMaturity": "NOT_DEFINED",
"confidentialityRequirement": "NOT_DEFINED",
"integrityRequirement": "NOT_DEFINED",
"availabilityRequirement": "NOT_DEFINED",
"modifiedAttackVector": "NOT_DEFINED",
"modifiedAttackComplexity": "NOT_DEFINED",
"modifiedAttackRequirements": "NOT_DEFINED",
"modifiedPrivilegesRequired": "NOT_DEFINED",
"modifiedUserInteraction": "NOT_DEFINED",
"modifiedVulnConfidentialityImpact": "NOT_DEFINED",
"modifiedVulnIntegrityImpact": "NOT_DEFINED",
"modifiedVulnAvailabilityImpact": "NOT_DEFINED",
"modifiedSubConfidentialityImpact": "NOT_DEFINED",
"modifiedSubIntegrityImpact": "NOT_DEFINED",
"modifiedSubAvailabilityImpact": "NOT_DEFINED",
"Safety": "NOT_DEFINED",
"Automatable": "NOT_DEFINED",
"Recovery": "NOT_DEFINED",
"valueDensity": "NOT_DEFINED",
"vulnerabilityResponseEffort": "NOT_DEFINED",
"providerUrgency": "NOT_DEFINED"
}
}
],
"cvssMetricV31": [
{
"source": "6a34fbeb-21d4-45e7-8e0a-62b95bc12c92",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L",
"baseScore": 5.3,
"baseSeverity": "MEDIUM",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"privilegesRequired": "NONE",
"userInteraction": "NONE",
"scope": "UNCHANGED",
"confidentialityImpact": "NONE",
"integrityImpact": "NONE",
"availabilityImpact": "LOW"
},
"exploitabilityScore": 3.9,
"impactScore": 1.4
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2026-08-04T17:16:11.996083Z",
"id": "CVE-2026-15830",
"options": [
{
"exploitation": "none"
},
{
"automatable": "yes"
},
{
"technicalImpact": "partial"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "6a34fbeb-21d4-45e7-8e0a-62b95bc12c92",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-674"
}
]
}
],
"configurations": [
{
"nodes": [
{
"operator": "OR",
"negate": false,
"cpeMatch": [
{
"vulnerable": true,
"criteria": "cpe:2.3:a:djangoproject:django:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.2.17",
"matchCriteriaId": "36AF9FD9-D477-457E-991A-66F40DB48637"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:a:djangoproject:django:*:*:*:*:*:*:*:*",
"versionStartIncluding": "6.0",
"versionEndExcluding": "6.0.8",
"matchCriteriaId": "D2E4E199-5735-4911-92F2-73B0AA1D173E"
}
]
}
]
}
],
"references": [
{
"url": "https://docs.djangoproject.com/en/dev/releases/security/",
"source": "6a34fbeb-21d4-45e7-8e0a-62b95bc12c92",
"tags": [
"Patch",
"Vendor Advisory"
]
},
{
"url": "https://github.com/django/django/commit/1eafa1a80f1363283f89208ba4499ed54e35f085",
"source": "6a34fbeb-21d4-45e7-8e0a-62b95bc12c92"
},
{
"url": "https://github.com/django/django/commit/4353dfb56f8ba3a6fccc4bdd7f2ef2fbee3aa638",
"source": "6a34fbeb-21d4-45e7-8e0a-62b95bc12c92"
},
{
"url": "https://github.com/django/django/commit/62ef9d40cf4ea75f16518436b44b8ab2515340df",
"source": "6a34fbeb-21d4-45e7-8e0a-62b95bc12c92"
},
{
"url": "https://github.com/django/django/commit/6af5da31775417c610dbf9c3f1b5b8333d42daf6",
"source": "6a34fbeb-21d4-45e7-8e0a-62b95bc12c92",
"tags": [
"Patch"
]
},
{
"url": "https://github.com/django/django/commit/75d401a1491e04a907ed745c128836d51c982c0f",
"source": "6a34fbeb-21d4-45e7-8e0a-62b95bc12c92"
},
{
"url": "https://github.com/django/django/commit/9e4a3f186b6b07b483bfd9195ea06734663fcd06",
"source": "6a34fbeb-21d4-45e7-8e0a-62b95bc12c92",
"tags": [
"Patch"
]
},
{
"url": "https://github.com/django/django/commit/ba80833fa656dd09660b97c4429331067db1b080",
"source": "6a34fbeb-21d4-45e7-8e0a-62b95bc12c92",
"tags": [
"Patch"
]
},
{
"url": "https://github.com/django/django/commit/d2e59b77fe18de318a8272c2a7bbc798d84d1d0d",
"source": "6a34fbeb-21d4-45e7-8e0a-62b95bc12c92",
"tags": [
"Patch"
]
},
{
"url": "https://groups.google.com/g/django-announce",
"source": "6a34fbeb-21d4-45e7-8e0a-62b95bc12c92",
"tags": [
"Mailing List"
]
},
{
"url": "https://www.djangoproject.com/weblog/2026/aug/04/security-releases/",
"source": "6a34fbeb-21d4-45e7-8e0a-62b95bc12c92",
"tags": [
"Vendor Advisory"
]
}
]
}