CVE-2026-15830
Potential denial-of-service vulnerability via nested geometry collections
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.
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
- Low
Exploit likelihood
What each source reports
CVE List Score used
6.9
Potential denial-of-service vulnerability via nested geometry collections
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.
- Record
CVE-2026-15830- CVSS 4.0
- 6.9 Medium
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 - CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Weakness
- CWE-674
- Updated
- 2026-11-02
EUVDEUVD-2026-52749
6.9
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.
- Record
EUVD-2026-52749- CVSS 4.0
- 6.9 Medium
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 - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-q238-5cxm-5c9h
6.9
Django GeoDjango vulnerable to denial of service through deeply nested geometry collections
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.
- Record
GHSA-q238-5cxm-5c9h- CVSS 4.0
- 6.9 Medium
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 - CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Weakness
- CWE-674
- Updated
- 2026-11-02
NVD
6.9
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.
- Record
CVE-2026-15830- CVSS 4.0
- 6.9 Medium
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 - CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Weakness
- CWE-674
- Updated
- 2026-11-02
OSVALPINE-CVE-2026-15830
6.9
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.
- Record
ALPINE-CVE-2026-15830- CVSS 4.0
- 6.9 Medium
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 - Updated
- 2026-11-03
OSV
6.9
Potential denial-of-service vulnerability via nested geometry collections
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.
- Record
CVE-2026-15830- CVSS 4.0
- 6.9 Medium
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 - Weakness
- CWE-674
- Updated
- 2026-11-02
Show 25 moreShow less
OSVDEBIAN-CVE-2026-15830
6.9
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.
- Record
DEBIAN-CVE-2026-15830- CVSS 4.0
- 6.9 Medium
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 - Updated
- 2026-11-02
OSVGHSA-q238-5cxm-5c9h
6.9
Django GeoDjango vulnerable to denial of service through deeply nested geometry collections
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.
- Record
GHSA-q238-5cxm-5c9h- CVSS 4.0
- 6.9 Medium
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 - CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Weakness
- CWE-674
- Updated
- 2026-11-02
OSVOESA-2026-3496
8.7
python-django security update
A high-level Python Web framework that encourages rapid development and clean, pragmatic design.
Security Fix(es):
An issue was discovered in Django 5.2 before 5.2.17 and 6.0 before 6.0.8. GeoDjango spatial lookups optimistically parse the right-hand-side value as a raster by passing it to the django.contrib.gis.gdal.GDALRaster constructor. Any value used in a spatial lookup against a GeometryField or RasterField reaches this constructor, including untrusted input, for example a spatial-field filter submitted through the Django admin changelist query string by a staff user with view permission. A dict, or a str holding its JSON representation, is opened in write mode regardless of the constructor's write=False default, allowing a file with an attacker-chosen name and contents to be written through a file-backed GDAL driver. Any other str is treated as a datasource, allowing an outbound network request through a GDAL virtual filesystem handler. Writing a file to a location later imported by the application can result in remote code execution.(CVE-2026-15307)
An issue was discovered in Django 5.2 before 5.2.17 and 6.0 before 6.0.8. django.utils.translation.check_for_language() is subject to a potential denial-of-service attack when given many distinct, very long language codes, which are retained as keys in an in-memory cache and consume process memory. Such codes reach the function through the django.views.i18n.set_language() view, which is not routed by default. The consumed memory is bounded, since request data is limited by the DATA_UPLOAD_MAX_MEMORY_SIZE setting (default 2.5 MB) and the cache holds a fixed maximum number of entries.(CVE-2026-15337)
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.(CVE-2026-15830)
An issue was discovered in Django 5.2 before 5.2.17 and 6.0 before 6.0.8.
django.contrib.admin.utils.display_for_field() renders URLField values as clickable links in the admin without validating the URL. A value stored with an unsafe scheme is displayed as a link on changelist and read-only admin pages, which allows cross-site scripting against staff users who click the link.
Exploitation requires the unsafe value to already be stored in the database. URLField validation through a ModelForm or the admin rejects unsafe schemes, so this affects applications that persist URLField data without running model validation, for example through direct queryset writes, deserialization, or bulk import of untrusted input.(CVE-2026-15920)
- Record
OESA-2026-3496- CVSS 4.0
- 8.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/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 - Updated
- 2026-11-02
OSVOESA-2026-3497
8.7
python-django security update
A high-level Python Web framework that encourages rapid development and clean, pragmatic design.
Security Fix(es):
An issue was discovered in Django 5.2 before 5.2.17 and 6.0 before 6.0.8. GeoDjango spatial lookups optimistically parse the right-hand-side value as a raster by passing it to the django.contrib.gis.gdal.GDALRaster constructor. Any value used in a spatial lookup against a GeometryField or RasterField reaches this constructor, including untrusted input, for example a spatial-field filter submitted through the Django admin changelist query string by a staff user with view permission. A dict, or a str holding its JSON representation, is opened in write mode regardless of the constructor's write=False default, allowing a file with an attacker-chosen name and contents to be written through a file-backed GDAL driver. Any other str is treated as a datasource, allowing an outbound network request through a GDAL virtual filesystem handler. Writing a file to a location later imported by the application can result in remote code execution.(CVE-2026-15307)
An issue was discovered in Django 5.2 before 5.2.17 and 6.0 before 6.0.8. django.utils.translation.check_for_language() is subject to a potential denial-of-service attack when given many distinct, very long language codes, which are retained as keys in an in-memory cache and consume process memory. Such codes reach the function through the django.views.i18n.set_language() view, which is not routed by default. The consumed memory is bounded, since request data is limited by the DATA_UPLOAD_MAX_MEMORY_SIZE setting (default 2.5 MB) and the cache holds a fixed maximum number of entries.(CVE-2026-15337)
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.(CVE-2026-15830)
An issue was discovered in Django 5.2 before 5.2.17 and 6.0 before 6.0.8.
django.contrib.admin.utils.display_for_field() renders URLField values as clickable links in the admin without validating the URL. A value stored with an unsafe scheme is displayed as a link on changelist and read-only admin pages, which allows cross-site scripting against staff users who click the link.
Exploitation requires the unsafe value to already be stored in the database. URLField validation through a ModelForm or the admin rejects unsafe schemes, so this affects applications that persist URLField data without running model validation, for example through direct queryset writes, deserialization, or bulk import of untrusted input.(CVE-2026-15920)
- Record
OESA-2026-3497- CVSS 4.0
- 8.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/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 - Updated
- 2026-11-02
OSVOESA-2026-3498
8.7
python-django security update
A high-level Python Web framework that encourages rapid development and clean, pragmatic design.
Security Fix(es):
An issue was discovered in Django 5.2 before 5.2.17 and 6.0 before 6.0.8. GeoDjango spatial lookups optimistically parse the right-hand-side value as a raster by passing it to the django.contrib.gis.gdal.GDALRaster constructor. Any value used in a spatial lookup against a GeometryField or RasterField reaches this constructor, including untrusted input, for example a spatial-field filter submitted through the Django admin changelist query string by a staff user with view permission. A dict, or a str holding its JSON representation, is opened in write mode regardless of the constructor's write=False default, allowing a file with an attacker-chosen name and contents to be written through a file-backed GDAL driver. Any other str is treated as a datasource, allowing an outbound network request through a GDAL virtual filesystem handler. Writing a file to a location later imported by the application can result in remote code execution.(CVE-2026-15307)
An issue was discovered in Django 5.2 before 5.2.17 and 6.0 before 6.0.8. django.utils.translation.check_for_language() is subject to a potential denial-of-service attack when given many distinct, very long language codes, which are retained as keys in an in-memory cache and consume process memory. Such codes reach the function through the django.views.i18n.set_language() view, which is not routed by default. The consumed memory is bounded, since request data is limited by the DATA_UPLOAD_MAX_MEMORY_SIZE setting (default 2.5 MB) and the cache holds a fixed maximum number of entries.(CVE-2026-15337)
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.(CVE-2026-15830)
An issue was discovered in Django 5.2 before 5.2.17 and 6.0 before 6.0.8.
django.contrib.admin.utils.display_for_field() renders URLField values as clickable links in the admin without validating the URL. A value stored with an unsafe scheme is displayed as a link on changelist and read-only admin pages, which allows cross-site scripting against staff users who click the link.
Exploitation requires the unsafe value to already be stored in the database. URLField validation through a ModelForm or the admin rejects unsafe schemes, so this affects applications that persist URLField data without running model validation, for example through direct queryset writes, deserialization, or bulk import of untrusted input.(CVE-2026-15920)
- Record
OESA-2026-3498- CVSS 4.0
- 8.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/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 - Updated
- 2026-11-02
OSVOESA-2026-3499
8.7
python-django security update
A high-level Python Web framework that encourages rapid development and clean, pragmatic design.
Security Fix(es):
An issue was discovered in Django 5.2 before 5.2.17 and 6.0 before 6.0.8. GeoDjango spatial lookups optimistically parse the right-hand-side value as a raster by passing it to the django.contrib.gis.gdal.GDALRaster constructor. Any value used in a spatial lookup against a GeometryField or RasterField reaches this constructor, including untrusted input, for example a spatial-field filter submitted through the Django admin changelist query string by a staff user with view permission. A dict, or a str holding its JSON representation, is opened in write mode regardless of the constructor's write=False default, allowing a file with an attacker-chosen name and contents to be written through a file-backed GDAL driver. Any other str is treated as a datasource, allowing an outbound network request through a GDAL virtual filesystem handler. Writing a file to a location later imported by the application can result in remote code execution.(CVE-2026-15307)
An issue was discovered in Django 5.2 before 5.2.17 and 6.0 before 6.0.8. django.utils.translation.check_for_language() is subject to a potential denial-of-service attack when given many distinct, very long language codes, which are retained as keys in an in-memory cache and consume process memory. Such codes reach the function through the django.views.i18n.set_language() view, which is not routed by default. The consumed memory is bounded, since request data is limited by the DATA_UPLOAD_MAX_MEMORY_SIZE setting (default 2.5 MB) and the cache holds a fixed maximum number of entries.(CVE-2026-15337)
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.(CVE-2026-15830)
An issue was discovered in Django 5.2 before 5.2.17 and 6.0 before 6.0.8.
django.contrib.admin.utils.display_for_field() renders URLField values as clickable links in the admin without validating the URL. A value stored with an unsafe scheme is displayed as a link on changelist and read-only admin pages, which allows cross-site scripting against staff users who click the link.
Exploitation requires the unsafe value to already be stored in the database. URLField validation through a ModelForm or the admin rejects unsafe schemes, so this affects applications that persist URLField data without running model validation, for example through direct queryset writes, deserialization, or bulk import of untrusted input.(CVE-2026-15920)
- Record
OESA-2026-3499- CVSS 4.0
- 8.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/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 - Updated
- 2026-11-02
OSVPYSEC-2026-3717
6.9
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.
- Record
PYSEC-2026-3717- CVSS 4.0
- 6.9 Medium
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 - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-15830
6.9
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.
- Record
UBUNTU-CVE-2026-15830- CVSS 4.0
- 6.9 Medium
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 - CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Updated
- 2026-11-02
OSVBIT-django-2026-15830 No score
Potential denial-of-service vulnerability via nested geometry collections
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.
- Record
BIT-django-2026-15830- Updated
- 2026-11-02
OSVCLSA-2026-1790832163 No score
TuxCare security update for django (2 CVEs)
TuxCare rebuilt django to address 2 CVEs. Fixed in 5.1.10.post5+tuxcare.
- Record
CLSA-2026-1790832163- Updated
- 2026-11-02
OSVCLSA-2026-1790835761 No score
TuxCare security update for django (2 CVEs)
TuxCare rebuilt django to address 2 CVEs. Fixed in 5.1.9.post7+tuxcare.
- Record
CLSA-2026-1790835761- Updated
- 2026-11-02
OSVCLSA-2026-1790845039 No score
TuxCare security update for django (2 CVEs)
TuxCare rebuilt django to address 2 CVEs. Fixed in 5.1.4.post8+tuxcare.
- Record
CLSA-2026-1790845039- Updated
- 2026-11-02
OSVCLSA-2026-1790845756 No score
TuxCare security update for django (2 CVEs)
TuxCare rebuilt django to address 2 CVEs. Fixed in 5.1.post11+tuxcare.
- Record
CLSA-2026-1790845756- Updated
- 2026-11-02
OSVCLSA-2026-1790845807 No score
TuxCare security update for django (2 CVEs)
TuxCare rebuilt django to address 2 CVEs. Fixed in 5.0.post16+tuxcare.
- Record
CLSA-2026-1790845807- Updated
- 2026-11-02
OSVCLSA-2026-1791265304 No score
TuxCare security update for django (2 CVEs)
TuxCare rebuilt django to address 2 CVEs. Fixed in 5.0.2.post11+tuxcare.
- Record
CLSA-2026-1791265304- Updated
- 2026-11-02
OSVCLSA-2026-1791271957 No score
TuxCare security update for django (6 CVEs)
TuxCare rebuilt django to address 6 CVEs. Fixed in 5.0.1.post12+tuxcare.
- Record
CLSA-2026-1791271957- Updated
- 2026-11-02
OSVCLSA-2026-1791368170 No score
TuxCare security update for django (2 CVEs)
TuxCare rebuilt django to address 2 CVEs. Fixed in 4.2.post14+tuxcare.
- Record
CLSA-2026-1791368170- Updated
- 2026-11-02
OSVCLSA-2026-1791369358 No score
TuxCare security update for django (2 CVEs)
TuxCare rebuilt django to address 2 CVEs. Fixed in 4.0.post23+tuxcare.
- Record
CLSA-2026-1791369358- Updated
- 2026-11-02
OSVCLSA-2026-1791371255 No score
TuxCare security update for django (2 CVEs)
TuxCare rebuilt django to address 2 CVEs. Fixed in 3.2.25.post9+tuxcare.
- Record
CLSA-2026-1791371255- Updated
- 2026-11-02
OSVMGASA-2026-0339 No score
Updated python-django packages fix security vulnerabilities
CVE-2026-15307: Server-side file-write and request forgery via spatial
lookups
CVE-2026-15337: Potential denial-of-service vulnerability in
check_for_language()
CVE-2026-15830: Potential denial-of-service vulnerability via nested
geometry collections
CVE-2026-15920: Potential cross-site scripting via URLField values in
the admin
- Record
MGASA-2026-0339- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:11464-1 No score
python313-Django-6.0.8-1.1 on GA media
These are all security issues fixed in the python313-Django-6.0.8-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:11464-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:11465-1 No score
python313-Django4-4.2.30-5.1 on GA media
These are all security issues fixed in the python313-Django4-4.2.30-5.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:11465-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:11491-1 No score
python313-Django5-5.2.17-1.1 on GA media
These are all security issues fixed in the python313-Django5-5.2.17-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:11491-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:21543-1 No score
Security update for python-Django
This update for python-Django fixes the following issues:
Changes in python-Django:
- CVE-2026-15307: server-side file-write and request forgery via spatial lookups (bsc#1272997)
- CVE-2026-15337: potential denial-of-service vulnerability in
check_for_language()(bsc#1272998) - CVE-2026-15830: potential denial-of-service vulnerability via nested geometry collections (bsc#1272999)
- CVE-2026-15920: potential cross-site scripting via
URLFieldvalues in the admin (bsc#1273000)
- Record
openSUSE-SU-2026:21543-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:3503-1 No score
Security update for python-Django
This update for python-Django fixes the following issues:
- CVE-2026-15307: server-side file-write and request forgery via spatial lookups (bsc#1272997).
- CVE-2026-15337: potential denial-of-service vulnerability in
check_for_language()(bsc#1272998). - CVE-2026-15830: potential denial-of-service vulnerability via nested geometry collections (bsc#1272999).
- CVE-2026-15920: potential cross-site scripting via
URLFieldvalues in the admin (bsc#1273000).
- Record
SUSE-SU-2026:3503-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
djangoPyPI |
before 5.2.17 | 5.2.17 |
djangoPyPI |
6.0a1 up to 6.0.8 | 6.0.8 |
djangoPyPI |
6.1a1 up to 6.1.1 | 6.1.1 |
py3-djangoAlpine:v3.24 |
before 5.2.17-r0 | 5.2.17-r0 |
djangoBitnami |
before 5.2.17, 6.0.0 up to 6.0.8 | 5.2.176.0.8 |
djangoTuxCare:PyPI From an advisory covering 2 CVEs |
5.1.10 up to 5.1.10.post5+tuxcare, plus listed versions 5.1.10.post1+tuxcare5.1.10.post2+tuxcare5.1.10.post3+tuxcare5.1.10.post4+tuxcare |
5.1.10.post5+tuxcare |
djangoTuxCare:PyPI From an advisory covering 2 CVEs |
5.1.9 up to 5.1.9.post7+tuxcare, plus listed versions 5.1.9.post1+tuxcare5.1.9.post2+tuxcare5.1.9.post3+tuxcare5.1.9.post4+tuxcare5.1.9.post5+tuxcare5.1.9.post6+tuxcare |
5.1.9.post7+tuxcare |
djangoTuxCare:PyPI From an advisory covering 2 CVEs |
5.1.4 up to 5.1.4.post8+tuxcare, plus listed versions 5.1.4.post1+tuxcare5.1.4.post2+tuxcare5.1.4.post3+tuxcare5.1.4.post4+tuxcare5.1.4.post5+tuxcare5.1.4.post6+tuxcare5.1.4.post7+tuxcare |
5.1.4.post8+tuxcare |
djangoTuxCare:PyPI From an advisory covering 2 CVEs |
5.1 up to 5.1.post11+tuxcare, plus listed versions 5.1.post1+tuxcare5.1.post10+tuxcare5.1.post2+tuxcare5.1.post3+tuxcare5.1.post4+tuxcare Show 5 moreShow less5.1.post5+tuxcare5.1.post6+tuxcare5.1.post7+tuxcare5.1.post8+tuxcare5.1.post9+tuxcare |
5.1.post11+tuxcare |
djangoTuxCare:PyPI From an advisory covering 2 CVEs |
5.0 up to 5.0.post16+tuxcare, plus listed versions 5.0.post1+tuxcare5.0.post10+tuxcare5.0.post11+tuxcare5.0.post12+tuxcare5.0.post13+tuxcare Show 10 moreShow less5.0.post14+tuxcare5.0.post15+tuxcare5.0.post2+tuxcare5.0.post3+tuxcare5.0.post4+tuxcare5.0.post5+tuxcare5.0.post6+tuxcare5.0.post7+tuxcare5.0.post8+tuxcare5.0.post9+tuxcare |
5.0.post16+tuxcare |
Show 30 moreShow less
| Package | Affected | Fixed |
|---|---|---|
djangoTuxCare:PyPI From an advisory covering 2 CVEs |
5.0.2 up to 5.0.2.post11+tuxcare, plus listed versions 5.0.2.post1+tuxcare5.0.2.post10+tuxcare5.0.2.post2+tuxcare5.0.2.post3+tuxcare5.0.2.post4+tuxcare Show 5 moreShow less5.0.2.post5+tuxcare5.0.2.post6+tuxcare5.0.2.post7+tuxcare5.0.2.post8+tuxcare5.0.2.post9+tuxcare |
5.0.2.post11+tuxcare |
djangoTuxCare:PyPI From an advisory covering 6 CVEs |
5.0.1 up to 5.0.1.post12+tuxcare, plus listed versions 5.0.1.post1+tuxcare5.0.1.post10+tuxcare5.0.1.post11+tuxcare5.0.1.post2+tuxcare5.0.1.post3+tuxcare Show 6 moreShow less5.0.1.post4+tuxcare5.0.1.post5+tuxcare5.0.1.post6+tuxcare5.0.1.post7+tuxcare5.0.1.post8+tuxcare5.0.1.post9+tuxcare |
5.0.1.post12+tuxcare |
djangoTuxCare:PyPI From an advisory covering 2 CVEs |
4.2 up to 4.2.post14+tuxcare, plus listed versions 4.2.post1+tuxcare4.2.post10+tuxcare4.2.post11+tuxcare4.2.post12+tuxcare4.2.post13+tuxcare Show 8 moreShow less4.2.post2+tuxcare4.2.post3+tuxcare4.2.post4+tuxcare4.2.post5+tuxcare4.2.post6+tuxcare4.2.post7+tuxcare4.2.post8+tuxcare4.2.post9+tuxcare |
4.2.post14+tuxcare |
djangoTuxCare:PyPI From an advisory covering 2 CVEs |
4.0 up to 4.0.post23+tuxcare, plus listed versions 4.0.post1+tuxcare4.0.post10+tuxcare4.0.post11+tuxcare4.0.post12+tuxcare4.0.post13+tuxcare Show 17 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.post3+tuxcare4.0.post4+tuxcare4.0.post5+tuxcare4.0.post6+tuxcare4.0.post7+tuxcare4.0.post8+tuxcare4.0.post9+tuxcare |
4.0.post23+tuxcare |
djangoTuxCare:PyPI From an advisory covering 2 CVEs |
3.2.25 up to 3.2.25.post9+tuxcare, plus listed versions 3.2.25.post1+tuxcare3.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+tuxcare |
3.2.25.post9+tuxcare |
python-djangoDebian:12 |
All versions, plus listed versions 3:3.2.19-13:3.2.19-1+deb12u13:3.2.19-1+deb12u1~bpo11+13:3.2.19-1+deb12u23:3.2.20-1 Show 45 moreShow less3:3.2.20-1.13:3.2.21-13:3.2.25-0+deb12u13:3.2.25-0+deb12u23:3.2.25-0+deb12u33:3.2.25-0+deb12u43:3.2.25-0+deb12u53:3.2.25-0+deb12u63:4.1-13:4.1.1-13:4.1.2-13:4.1.3-13:4.1.4-13:4.1.5-13:4.2-13:4.2.1-13:4.2.10-13:4.2.11-13:4.2.13-13:4.2.14-13:4.2.15-13:4.2.15-1~bpo12+13:4.2.16-13:4.2.17-13:4.2.17-23:4.2.18-13:4.2.18-1~bpo12+13:4.2.19-13:4.2.19-1~bpo12+13:4.2.2-13:4.2.20-13:4.2.20-1~bpo12+13:4.2.21-13:4.2.21-1~bpo12+13:4.2.22-13:4.2.23-13:4.2.24-13:4.2.25-13:4.2.25-23:4.2.26-13:4.2.27-13:4.2.27-23:4.2.28-13:4.2.29-13:4.2.3-1 |
None known |
python-djangoDebian:13 |
All versions, plus listed versions 3:4.2.23-13:4.2.24-13:4.2.25-13:4.2.25-23:4.2.26-1 Show 45 moreShow less3:4.2.27-0+deb13u13:4.2.27-13:4.2.27-23:4.2.28-0+deb13u13:4.2.28-0+deb13u23:4.2.28-13:4.2.29-13:4.2.30-13:5.0-13:5.0.1-13:5.0.2-13:5.0.3-13:5.0.4-13:5.0.6-13:5.0~alpha1-13:5.0~rc1-13:5.1-13:5.1.1-13:5.1.2-13:5.1.3-13:5.1.4-13:5.1.5-13:5.1~alpha1-13:5.1~beta1-13:5.1~rc1-13:5.2-13:5.2.1-13:5.2.13-13:5.2.14-13:5.2.14-23:5.2.15-13:5.2.15-23:5.2.15-2~bpo13+13:5.2.16-13:5.2.16-1~bpo13+13:5.2.17-13:5.2.17-23:5.2.17-2~bpo13+13:5.2.18-13:5.2.2-13:5.2.3-13:5.2.4-13:5.2.5-13:5.2.6-13:5.2~alpha1-1 |
None known |
python-djangoDebian:14 |
before 3:5.2.17-1, plus listed versions 3:4.2.23-13:4.2.24-13:4.2.25-13:4.2.25-23:4.2.26-1 Show 40 moreShow less3:4.2.27-13:4.2.27-23:4.2.28-13:4.2.29-13:4.2.30-13:5.0-13:5.0.1-13:5.0.2-13:5.0.3-13:5.0.4-13:5.0.6-13:5.0~alpha1-13:5.0~rc1-13:5.1-13:5.1.1-13:5.1.2-13:5.1.3-13:5.1.4-13:5.1.5-13:5.1~alpha1-13:5.1~beta1-13:5.1~rc1-13:5.2-13:5.2.1-13:5.2.13-13:5.2.14-13:5.2.14-23:5.2.15-13:5.2.15-23:5.2.15-2~bpo13+13:5.2.16-13:5.2.16-1~bpo13+13:5.2.2-13:5.2.3-13:5.2.4-13:5.2.5-13:5.2.6-13:5.2~alpha1-13:5.2~beta1-13:5.2~rc1-1 |
3:5.2.17-1 |
djangoPyPI |
before 5.2.17, plus listed versions 1.0.11.0.21.0.31.0.41.1 Show 45 moreShow less1.1.11.1.21.1.31.1.41.101.10.11.10.21.10.31.10.41.10.51.10.61.10.71.10.81.10a11.10b11.10rc11.111.11.11.11.101.11.111.11.121.11.131.11.141.11.151.11.161.11.171.11.181.11.21.11.201.11.211.11.221.11.231.11.241.11.251.11.261.11.271.11.281.11.291.11.31.11.41.11.51.11.61.11.71.11.81.11.9 |
5.2.17 |
djangoPyPI |
6.0a1 up to 6.0.8, plus listed versions 6.06.0.16.0.26.0.36.0.4 Show 5 moreShow less6.0.56.0.66.0.76.0b16.0rc1 |
6.0.8 |
djangoPyPI |
6.1a1 up to 6.1.1, plus listed versions 6.16.1b16.1rc1 |
6.1.1 |
python-djangoMageia:10 From an advisory covering 4 CVEs |
before 5.2.17-1.mga10 | 5.2.17-1.mga10 |
python-djangoopenEuler:22.03-LTS-SP4 From an advisory covering 4 CVEs |
before 4.2.15-18.oe2203sp4 | 4.2.15-18.oe2203sp4 |
python-djangoopenEuler:24.03-LTS-SP1 From an advisory covering 4 CVEs |
before 4.2.15-18.oe2403sp1 | 4.2.15-18.oe2403sp1 |
python-djangoopenEuler:24.03-LTS-SP3 From an advisory covering 4 CVEs |
before 4.2.15-18.oe2403sp3 | 4.2.15-18.oe2403sp3 |
python-djangoopenEuler:24.03-LTS-SP4 From an advisory covering 4 CVEs |
before 4.2.15-18.oe2403sp4 | 4.2.15-18.oe2403sp4 |
djangoPyPI |
before 5.2.17, 6.0 up to 6.0.8, plus listed versions 1.0.11.0.21.0.31.0.41.1 Show 45 moreShow less1.1.11.1.21.1.31.1.41.101.10.11.10.21.10.31.10.41.10.51.10.61.10.71.10.81.10a11.10b11.10rc11.111.11.11.11.101.11.111.11.121.11.131.11.141.11.151.11.161.11.171.11.181.11.21.11.201.11.211.11.221.11.231.11.241.11.251.11.261.11.271.11.281.11.291.11.31.11.41.11.51.11.61.11.71.11.81.11.9 |
5.2.176.0.8 |
python-DjangoSUSE:Linux Enterprise Module for Package Hub 15 SP7 From an advisory covering 4 CVEs |
before 4.2.11-150600.3.65.1 | 4.2.11-150600.3.65.1 |
python-djangoUbuntu:Pro:14.04:LTS |
All versions, plus listed versions 1.5.4-1ubuntu11.6-11.6.1-11.6.1-21.6.1-2ubuntu0.1 Show 30 moreShow less1.6.1-2ubuntu0.21.6.1-2ubuntu0.31.6.1-2ubuntu0.41.6.1-2ubuntu0.51.6.1-2ubuntu0.61.6.1-2ubuntu0.81.6.1-2ubuntu0.91.6.1-2ubuntu0.101.6.1-2ubuntu0.111.6.1-2ubuntu0.121.6.1-2ubuntu0.131.6.1-2ubuntu0.141.6.1-2ubuntu0.151.6.1-2ubuntu0.161.6.11-0ubuntu11.6.11-0ubuntu1.11.6.11-0ubuntu1.21.6.11-0ubuntu1.31.6.11-0ubuntu1.3+esm11.6.11-0ubuntu1.3+esm21.6.11-0ubuntu1.3+esm31.6.11-0ubuntu1.3+esm41.6.11-0ubuntu1.3+esm51.6.11-0ubuntu1.3+esm61.6.11-0ubuntu1.3+esm71.6.11-0ubuntu1.3+esm81.6.11-0ubuntu1.3+esm91.6.11-0ubuntu1.3+esm101.6.11-0ubuntu1.3+esm111.6.11-0ubuntu1.3+esm12 |
None known |
python-djangoUbuntu:Pro:16.04:LTS |
All versions, plus listed versions 1.7.9-1ubuntu51.8.5-2ubuntu11.8.7-1ubuntu11.8.7-1ubuntu21.8.7-1ubuntu3 Show 28 moreShow less1.8.7-1ubuntu41.8.7-1ubuntu51.8.7-1ubuntu5.11.8.7-1ubuntu5.21.8.7-1ubuntu5.41.8.7-1ubuntu5.51.8.7-1ubuntu5.61.8.7-1ubuntu5.71.8.7-1ubuntu5.81.8.7-1ubuntu5.91.8.7-1ubuntu5.101.8.7-1ubuntu5.111.8.7-1ubuntu5.121.8.7-1ubuntu5.131.8.7-1ubuntu5.141.8.7-1ubuntu5.151.8.7-1ubuntu5.15+esm11.8.7-1ubuntu5.15+esm31.8.7-1ubuntu5.15+esm41.8.7-1ubuntu5.15+esm51.8.7-1ubuntu5.15+esm61.8.7-1ubuntu5.15+esm71.8.7-1ubuntu5.15+esm81.8.7-1ubuntu5.15+esm91.8.7-1ubuntu5.15+esm101.8.7-1ubuntu5.15+esm111.8.7-1ubuntu5.15+esm121.8.7-1ubuntu5.15+esm13 |
None known |
python-djangoUbuntu:Pro:18.04:LTS |
All versions, plus listed versions 1:1.11.4-1ubuntu11:1.11.6-1ubuntu11:1.11.9-1ubuntu11:1.11.11-1ubuntu11:1.11.11-1ubuntu1.1 Show 36 moreShow less1:1.11.11-1ubuntu1.21:1.11.11-1ubuntu1.31:1.11.11-1ubuntu1.41:1.11.11-1ubuntu1.51:1.11.11-1ubuntu1.61:1.11.11-1ubuntu1.71:1.11.11-1ubuntu1.81:1.11.11-1ubuntu1.91:1.11.11-1ubuntu1.101:1.11.11-1ubuntu1.111:1.11.11-1ubuntu1.121:1.11.11-1ubuntu1.131:1.11.11-1ubuntu1.141:1.11.11-1ubuntu1.151:1.11.11-1ubuntu1.161:1.11.11-1ubuntu1.171:1.11.11-1ubuntu1.181:1.11.11-1ubuntu1.191:1.11.11-1ubuntu1.201:1.11.11-1ubuntu1.211:1.11.11-1ubuntu1.21+esm11:1.11.11-1ubuntu1.21+esm21:1.11.11-1ubuntu1.21+esm31:1.11.11-1ubuntu1.21+esm41:1.11.11-1ubuntu1.21+esm51:1.11.11-1ubuntu1.21+esm61:1.11.11-1ubuntu1.21+esm71:1.11.11-1ubuntu1.21+esm81:1.11.11-1ubuntu1.21+esm91:1.11.11-1ubuntu1.21+esm101:1.11.11-1ubuntu1.21+esm111:1.11.11-1ubuntu1.21+esm121:1.11.11-1ubuntu1.21+esm131:1.11.11-1ubuntu1.21+esm141:1.11.11-1ubuntu1.21+esm151:1.11.11-1ubuntu1.21+esm17 |
None known |
python-djangoUbuntu:Pro:20.04:LTS |
All versions, plus listed versions 1:1.11.22-1ubuntu12:2.2.6-1ubuntu12:2.2.9-2ubuntu12:2.2.10-12:2.2.10-1ubuntu1 Show 40 moreShow less2:2.2.11-12:2.2.12-12:2.2.12-1ubuntu0.12:2.2.12-1ubuntu0.22:2.2.12-1ubuntu0.32:2.2.12-1ubuntu0.42:2.2.12-1ubuntu0.52:2.2.12-1ubuntu0.62:2.2.12-1ubuntu0.72:2.2.12-1ubuntu0.82:2.2.12-1ubuntu0.92:2.2.12-1ubuntu0.102:2.2.12-1ubuntu0.112:2.2.12-1ubuntu0.122:2.2.12-1ubuntu0.132:2.2.12-1ubuntu0.142:2.2.12-1ubuntu0.152:2.2.12-1ubuntu0.162:2.2.12-1ubuntu0.172:2.2.12-1ubuntu0.182:2.2.12-1ubuntu0.192:2.2.12-1ubuntu0.202:2.2.12-1ubuntu0.212:2.2.12-1ubuntu0.222:2.2.12-1ubuntu0.232:2.2.12-1ubuntu0.242:2.2.12-1ubuntu0.252:2.2.12-1ubuntu0.262:2.2.12-1ubuntu0.272:2.2.12-1ubuntu0.282:2.2.12-1ubuntu0.292:2.2.12-1ubuntu0.29+esm12:2.2.12-1ubuntu0.29+esm22:2.2.12-1ubuntu0.29+esm32:2.2.12-1ubuntu0.29+esm42:2.2.12-1ubuntu0.29+esm52:2.2.12-1ubuntu0.29+esm62:2.2.12-1ubuntu0.29+esm72:2.2.12-1ubuntu0.29+esm82:2.2.12-1ubuntu0.29+esm10 |
None known |
python-djangoUbuntu:22.04:LTS |
All versions, plus listed versions 2:2.2.24-1ubuntu12:3.2.12-22:3.2.12-2ubuntu12:3.2.12-2ubuntu1.12:3.2.12-2ubuntu1.2 Show 26 moreShow less2:3.2.12-2ubuntu1.32:3.2.12-2ubuntu1.42:3.2.12-2ubuntu1.52:3.2.12-2ubuntu1.62:3.2.12-2ubuntu1.72:3.2.12-2ubuntu1.82:3.2.12-2ubuntu1.92:3.2.12-2ubuntu1.102:3.2.12-2ubuntu1.112:3.2.12-2ubuntu1.122:3.2.12-2ubuntu1.132:3.2.12-2ubuntu1.142:3.2.12-2ubuntu1.152:3.2.12-2ubuntu1.162:3.2.12-2ubuntu1.172:3.2.12-2ubuntu1.182:3.2.12-2ubuntu1.192:3.2.12-2ubuntu1.202:3.2.12-2ubuntu1.212:3.2.12-2ubuntu1.222:3.2.12-2ubuntu1.232:3.2.12-2ubuntu1.242:3.2.12-2ubuntu1.252:3.2.12-2ubuntu1.262:3.2.12-2ubuntu1.272:3.2.12-2ubuntu1.29 |
None known |
python-djangoUbuntu:24.04:LTS |
All versions, plus listed versions 3:4.2.4-1ubuntu23:4.2.8-13:4.2.9-13:4.2.11-13:4.2.11-1ubuntu1 Show 17 moreShow less3:4.2.11-1ubuntu1.13:4.2.11-1ubuntu1.23:4.2.11-1ubuntu1.33:4.2.11-1ubuntu1.43:4.2.11-1ubuntu1.53:4.2.11-1ubuntu1.63:4.2.11-1ubuntu1.73:4.2.11-1ubuntu1.83:4.2.11-1ubuntu1.93:4.2.11-1ubuntu1.103:4.2.11-1ubuntu1.113:4.2.11-1ubuntu1.123:4.2.11-1ubuntu1.133:4.2.11-1ubuntu1.143:4.2.11-1ubuntu1.153:4.2.11-1ubuntu1.163:4.2.11-1ubuntu1.18 |
None known |
python-djangoUbuntu:26.10 |
All versions, plus listed versions 3:5.2.9-0ubuntu43:5.2.16-13:5.2.17-1 |
None known |
python-djangoUbuntu:26.04:LTS |
All versions, plus listed versions 3:5.2.4-1ubuntu23:5.2.4-1ubuntu33:5.2.9-0ubuntu13:5.2.9-0ubuntu23:5.2.9-0ubuntu33:5.2.9-0ubuntu43:5.2.9-0ubuntu4.13:5.2.9-0ubuntu4.3 |
None known |
python-DjangoopenSUSE:Tumbleweed From an advisory covering 4 CVEs |
before 6.0.8-1.1 | 6.0.8-1.1 |
python-Django4openSUSE:Tumbleweed From an advisory covering 4 CVEs |
before 4.2.30-5.1 | 4.2.30-5.1 |
python-Django5openSUSE:Tumbleweed From an advisory covering 4 CVEs |
before 5.2.17-1.1 | 5.2.17-1.1 |
python-DjangoopenSUSE:Leap 16.0 From an advisory covering 4 CVEs |
before 5.2.4-bp160.11.1 | 5.2.4-bp160.11.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| 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-15830 is a medium vulnerability (CVSS 6.9) in Djangoproject Django, published August 4, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.11%, the 66th percentile. Fixed in django 5.2.17.
References
docs.djangoproject.com/en/dev/releases/security
groups.google.com/g/django-announce
github.com/django/django/commit/d2e59b77fe18de318a8272c2a7bbc798d84d1d0d
github.com/django/django/commit/9e4a3f186b6b07b483bfd9195ea06734663fcd06
github.com/django/django/commit/6af5da31775417c610dbf9c3f1b5b8333d42daf6
github.com/django/django/commit/ba80833fa656dd09660b97c4429331067db1b080
Show 35 moreShow less
djangoproject.com/weblog/2026/aug/04/security-releases
github.com/django/django/commit/62ef9d40cf4ea75f16518436b44b8ab2515340df
github.com/django/django/commit/75d401a1491e04a907ed745c128836d51c982c0f
github.com/django/django/commit/4353dfb56f8ba3a6fccc4bdd7f2ef2fbee3aa638
github.com/django/django/commit/1eafa1a80f1363283f89208ba4499ed54e35f085
nvd.nist.gov/vuln/detail/CVE-2026-15830
github.com/pypa/advisory-database/tree/main/vulns/django/PYSEC-2026-3717.yaml
github.com/advisories/GHSA-q238-5cxm-5c9h
security.alpinelinux.org/vuln/CVE-2026-15830
github.com/django/django
github.com/CVEProject/cvelistV5/tree/main/cves/2026/15xxx/CVE-2026-15830.json
pypi.org/project/Django
security-tracker.debian.org/tracker/CVE-2026-15830
advisories.mageia.org/MGASA-2026-0339.html
bugs.mageia.org/show_bug.cgi?id=36132
openwall.com/lists/oss-security/2026/08/04/6
docs.djangoproject.com/en/dev/releases/5.2.17
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2026-3496
nvd.nist.gov/vuln/detail/CVE-2026-15307
nvd.nist.gov/vuln/detail/CVE-2026-15337
nvd.nist.gov/vuln/detail/CVE-2026-15920
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2026-3497
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2026-3498
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2026-3499
suse.com/support/update/announcement/2026/suse-su-20263503-1
bugzilla.suse.com/1272997
bugzilla.suse.com/1272998
bugzilla.suse.com/1272999
bugzilla.suse.com/1273000
suse.com/security/cve/CVE-2026-15307
suse.com/security/cve/CVE-2026-15337
suse.com/security/cve/CVE-2026-15830
suse.com/security/cve/CVE-2026-15920
ubuntu.com/security/CVE-2026-15830
cve.org/CVERecord?id=CVE-2026-15830
Left out here: 836 versions. The JSON record has them.