Every CVE Search/ Get API key

CVE-2026-15307

Server-side file-write and request forgery via spatial lookups

8.7 HighFix available

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. 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 Bence Nagy, localhost-detect, and kimchunbok_ for reporting this issue.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
Low
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
High
Availability
High

Exploit likelihood

1.13%Up 0.6 points since Aug 5, 2026
90%50%10%1%

What each source reports

CVE List Score used 8.7

Server-side file-write and request forgery via spatial lookups

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. 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 Bence Nagy, localhost-detect, and kimchunbok_ for reporting this issue.

Record
CVE-2026-15307
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
CVSS 3.1
8.8 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-73, CWE-918
Updated
2026-11-02
EUVDEUVD-2026-52747 8.7

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. 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 Bence Nagy, localhost-detect, and kimchunbok_ for reporting this issue.

Record
EUVD-2026-52747
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-wvqv-fj8w-qmhm 8.7

Django GeoDjango spatial lookups allow file writes and outbound requests through GDAL raster parsing

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. 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 Bence Nagy, localhost-detect, and kimchunbok_ for reporting this issue.

Record
GHSA-wvqv-fj8w-qmhm
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
CVSS 3.1
8.8 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-73
Updated
2026-11-02
NVD 8.7

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. 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 Bence Nagy, localhost-detect, and kimchunbok_ for reporting this issue.

Record
CVE-2026-15307
CVSS 4.0
8.7 HighCVSS: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
CVSS 3.1
8.8 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-73, CWE-918
Updated
2026-11-02
OSVALPINE-CVE-2026-15307 8.7

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. 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 Bence Nagy, localhost-detect, and kimchunbok_ for reporting this issue.

Record
ALPINE-CVE-2026-15307
CVSS 4.0
8.7 HighCVSS: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-03
OSV 8.7

Server-side file-write and request forgery via spatial lookups

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. 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 Bence Nagy, localhost-detect, and kimchunbok_ for reporting this issue.

Record
CVE-2026-15307
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Weakness
CWE-73, CWE-918
Updated
2026-11-02
Show 30 moreShow less
OSVDEBIAN-CVE-2026-15307 8.7

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. 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 Bence Nagy, localhost-detect, and kimchunbok_ for reporting this issue.

Record
DEBIAN-CVE-2026-15307
CVSS 4.0
8.7 HighCVSS: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
OSVGHSA-wvqv-fj8w-qmhm 8.7

Django GeoDjango spatial lookups allow file writes and outbound requests through GDAL raster parsing

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. 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 Bence Nagy, localhost-detect, and kimchunbok_ for reporting this issue.

Record
GHSA-wvqv-fj8w-qmhm
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
CVSS 3.1
8.8 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-73
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 HighCVSS: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 HighCVSS: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 HighCVSS: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 HighCVSS: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-4035 8.7

Django GeoDjango spatial lookups allow file writes and outbound requests through GDAL raster parsing

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. 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 Bence Nagy, localhost-detect, and kimchunbok_ for reporting this issue.

Record
PYSEC-2026-4035
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
CVSS 3.1
8.8 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVRHSA-2026:59135 8.8

Red Hat Security Advisory: Red Hat Ansible Automation Platform 2.5 Product Security and Bug Fix Update

Record
RHSA-2026:59135
CVSS 3.1
8.8 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVRHSA-2026:59136 8.8

Red Hat Security Advisory: Red Hat Ansible Automation Platform 2.6 Product Security and Bug Fix Update

Record
RHSA-2026:59136
CVSS 3.1
8.8 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVRHSA-2026:59137 8.8

Red Hat Security Advisory: Red Hat Ansible Automation Platform 2.7 Product Security and Bug Fix Update

Record
RHSA-2026:59137
CVSS 3.1
8.8 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVUBUNTU-CVE-2026-15307 8.7

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. 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 Bence Nagy, localhost-detect, and kimchunbok_ for reporting this issue.

Record
UBUNTU-CVE-2026-15307
CVSS 4.0
8.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
CVSS 3.1
8.8 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVBIT-django-2026-15307 No score

Server-side file-write and request forgery via spatial lookups

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. 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 Bence Nagy, localhost-detect, and kimchunbok_ for reporting this issue.

Record
BIT-django-2026-15307
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 URLField values in the admin (bsc#1273000)
Record
openSUSE-SU-2026:21543-1
Updated
2026-11-02
OSVROOT-APP-PYPI-CVE-2026-15307 No score

CVE-2026-15307 in django - Patched by Root

Root has patched CVE-2026-15307 in the django package for Root:PyPI. Multiple fixed versions available.

Record
ROOT-APP-PYPI-CVE-2026-15307
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 URLField values in the admin (bsc#1273000).
Record
SUSE-SU-2026:3503-1
Updated
2026-11-02
OSVUSN-8848-1 No score

python-django vulnerabilities

Bence Nagy discovered that GeoDjango in Django incorrectly handled spatial lookups when processing untrusted input. A remote attacker could possibly use this issue to make outbound network requests, write arbitrary files, or execute arbitrary code. This issue was only addressed in Ubuntu 22.04 LTS, Ubuntu 24.04 LTS and Ubuntu 26.04 LTS. (CVE-2026-15307)

Ahmad Sadeddin discovered that Django UpdateCacheMiddleware incorrectly cached requests where the Vary header contained an asterisk. A remote attacker could possibly use this issue to obtain sensitive information. (CVE-2026-6907)

Ahmed Badawe discovered that Django did not properly parse Cache-Control response directives case-insensitively under certain circumstances. A remote attacker could possibly use this issue to view sensitive information from responses that were incorrectly cached. This issue only affected Ubuntu 20.04 LTS, Ubuntu 22.04 LTS, Ubuntu 24.04 LTS, and Ubuntu 26.04 LTS. (CVE-2026-8404)

Record
USN-8848-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
django
PyPI
before 5.2.17
5.2.17
django
PyPI
6.0a1 up to 6.0.8
6.0.8
py3-django
Alpine:v3.24
before 5.2.17-r0
5.2.17-r0
django
Bitnami
before 5.2.17, 6.0.0 up to 6.0.8
5.2.176.0.8
django
TuxCare: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
django
TuxCare: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
django
TuxCare: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
django
TuxCare: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 less
5.1.post5+tuxcare5.1.post6+tuxcare5.1.post7+tuxcare5.1.post8+tuxcare5.1.post9+tuxcare
5.1.post11+tuxcare
django
TuxCare: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 less
5.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
django
TuxCare: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 less
5.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
Show 71 moreShow less
Affected packages
PackageAffectedFixed
django
TuxCare: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 less
5.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
django
TuxCare: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 less
4.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
django
TuxCare: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 less
4.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
django
TuxCare: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-django
Debian: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 less
3: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-django
Debian: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 less
3: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-django
Debian: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 less
3: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
django
PyPI
before 5.2.17, plus listed versions
1.0.11.0.21.0.31.0.41.1
Show 45 moreShow less
1.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
django
PyPI
6.0a1 up to 6.0.8, plus listed versions
6.06.0.16.0.26.0.36.0.4
Show 5 moreShow less
6.0.56.0.66.0.76.0b16.0rc1
6.0.8
python-django
Mageia:10
From an advisory covering 4 CVEs
before 5.2.17-1.mga10
5.2.17-1.mga10
python-django
openEuler:22.03-LTS-SP4
From an advisory covering 4 CVEs
before 4.2.15-18.oe2203sp4
4.2.15-18.oe2203sp4
python-django
openEuler:24.03-LTS-SP1
From an advisory covering 4 CVEs
before 4.2.15-18.oe2403sp1
4.2.15-18.oe2403sp1
python-django
openEuler:24.03-LTS-SP3
From an advisory covering 4 CVEs
before 4.2.15-18.oe2403sp3
4.2.15-18.oe2403sp3
python-django
openEuler:24.03-LTS-SP4
From an advisory covering 4 CVEs
before 4.2.15-18.oe2403sp4
4.2.15-18.oe2403sp4
django
PyPI
before 5.2.17, 6.0a1 up to 6.0.8, plus listed versions
1.0.11.0.21.0.31.0.41.1
Show 45 moreShow less
1.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
python3.12-django
Red Hat:ansible_automation_platform_developer:2.5::el8
From an advisory covering 18 CVEs
before 0:5.2.17-1.el8ap
0:5.2.17-1.el8ap
python3.12-django
Red Hat:ansible_automation_platform:2.5::el8
From an advisory covering 18 CVEs
before 0:5.2.17-1.el8ap
0:5.2.17-1.el8ap
python3.12-django
Red Hat:ansible_automation_platform_developer:2.5::el9
From an advisory covering 18 CVEs
before 0:5.2.17-1.el9ap
0:5.2.17-1.el9ap
python3.12-django
Red Hat:ansible_automation_platform:2.5::el9
From an advisory covering 18 CVEs
before 0:5.2.17-1.el9ap
0:5.2.17-1.el9ap
automation-controller-venv-tower
Red Hat:ansible_automation_platform:2.5::el8
From an advisory covering 18 CVEs
before 0:4.6.32-1.el8ap
0:4.6.32-1.el8ap
automation-controller-venv-tower
Red Hat:ansible_automation_platform:2.5::el9
From an advisory covering 18 CVEs
before 0:4.6.32-1.el9ap
0:4.6.32-1.el9ap
automation-gateway-server
Red Hat:ansible_automation_platform:2.5::el8
From an advisory covering 18 CVEs
before 0:2.5.20260824-1.el8ap
0:2.5.20260824-1.el8ap
automation-gateway-server
Red Hat:ansible_automation_platform:2.5::el9
From an advisory covering 18 CVEs
before 0:2.5.20260824-1.el9ap
0:2.5.20260824-1.el9ap
automation-controller-cli
Red Hat:ansible_automation_platform_developer:2.5::el8
From an advisory covering 18 CVEs
before 0:4.6.32-1.el8ap
0:4.6.32-1.el8ap
automation-controller-cli
Red Hat:ansible_automation_platform:2.5::el8
From an advisory covering 18 CVEs
before 0:4.6.32-1.el8ap
0:4.6.32-1.el8ap
automation-controller-cli
Red Hat:ansible_automation_platform_developer:2.5::el9
From an advisory covering 18 CVEs
before 0:4.6.32-1.el9ap
0:4.6.32-1.el9ap
automation-controller-cli
Red Hat:ansible_automation_platform:2.5::el9
From an advisory covering 18 CVEs
before 0:4.6.32-1.el9ap
0:4.6.32-1.el9ap
python3.12-gitpython
Red Hat:ansible_automation_platform:2.5::el8
From an advisory covering 18 CVEs
before 0:3.1.59-1.el8ap
0:3.1.59-1.el8ap
python3.12-gitpython
Red Hat:ansible_automation_platform:2.5::el9
From an advisory covering 18 CVEs
before 0:3.1.59-1.el9ap
0:3.1.59-1.el9ap
python3.12-aiohttp
Red Hat:ansible_automation_platform:2.5::el8
From an advisory covering 18 CVEs
before 0:3.14.3-1.el8ap
0:3.14.3-1.el8ap
python3.12-aiohttp
Red Hat:ansible_automation_platform:2.5::el9
From an advisory covering 18 CVEs
before 0:3.14.3-1.el9ap
0:3.14.3-1.el9ap
automation-platform-ui
Red Hat:ansible_automation_platform:2.6::el9
From an advisory covering 20 CVEs
before 0:2.6.13-1.el9ap
0:2.6.13-1.el9ap
python-django
Red Hat:ansible_automation_platform_developer:2.6::el10
From an advisory covering 20 CVEs
before 0:5.2.17-1.el10ap
0:5.2.17-1.el10ap
python3-django
Red Hat:ansible_automation_platform_developer:2.6::el10
From an advisory covering 20 CVEs
before 0:5.2.17-1.el10ap
0:5.2.17-1.el10ap
python-django
Red Hat:ansible_automation_platform:2.6::el10
From an advisory covering 20 CVEs
before 0:5.2.17-1.el10ap
0:5.2.17-1.el10ap
python3-django
Red Hat:ansible_automation_platform:2.6::el10
From an advisory covering 20 CVEs
before 0:5.2.17-1.el10ap
0:5.2.17-1.el10ap
python3.12-django
Red Hat:ansible_automation_platform_developer:2.6::el9
From an advisory covering 20 CVEs
before 0:5.2.17-1.el9ap
0:5.2.17-1.el9ap
python3.12-django
Red Hat:ansible_automation_platform:2.6::el9
From an advisory covering 20 CVEs
before 0:5.2.17-1.el9ap
0:5.2.17-1.el9ap
automation-controller-venv-tower
Red Hat:ansible_automation_platform:2.6::el9
From an advisory covering 20 CVEs
before 0:4.7.16-1.el9ap
0:4.7.16-1.el9ap
automation-controller-cli
Red Hat:ansible_automation_platform_developer:2.6::el9
From an advisory covering 20 CVEs
before 0:4.7.16-1.el9ap
0:4.7.16-1.el9ap
automation-controller-cli
Red Hat:ansible_automation_platform:2.6::el9
From an advisory covering 20 CVEs
before 0:4.7.16-1.el9ap
0:4.7.16-1.el9ap
python3.12-gitpython
Red Hat:ansible_automation_platform:2.6::el9
From an advisory covering 20 CVEs
before 0:3.1.59-1.el9ap
0:3.1.59-1.el9ap
python3.12-aiohttp
Red Hat:ansible_automation_platform:2.6::el9
From an advisory covering 20 CVEs
before 0:3.14.3-1.el9ap
0:3.14.3-1.el9ap
python3.12-aiohttp-debuginfo
Red Hat:ansible_automation_platform:2.6::el9
From an advisory covering 20 CVEs
before 0:3.14.3-1.el9ap
0:3.14.3-1.el9ap
python3.12-aiohttp-debugsource
Red Hat:ansible_automation_platform:2.6::el9
From an advisory covering 20 CVEs
before 0:3.14.3-1.el9ap
0:3.14.3-1.el9ap
python-django
Red Hat:ansible_automation_platform_developer:2.7::el10
From an advisory covering 2 CVEs
before 0:5.2.17-1.el10ap
0:5.2.17-1.el10ap
python3-django
Red Hat:ansible_automation_platform_developer:2.7::el10
From an advisory covering 2 CVEs
before 0:5.2.17-1.el10ap
0:5.2.17-1.el10ap
python-django
Red Hat:ansible_automation_platform:2.7::el10
From an advisory covering 2 CVEs
before 0:5.2.17-1.el10ap
0:5.2.17-1.el10ap
python3-django
Red Hat:ansible_automation_platform:2.7::el10
From an advisory covering 2 CVEs
before 0:5.2.17-1.el10ap
0:5.2.17-1.el10ap
python3.12-django
Red Hat:ansible_automation_platform_developer:2.7::el9
From an advisory covering 2 CVEs
before 0:5.2.17-1.el9ap
0:5.2.17-1.el9ap
python3.12-django
Red Hat:ansible_automation_platform:2.7::el9
From an advisory covering 2 CVEs
before 0:5.2.17-1.el9ap
0:5.2.17-1.el9ap
automation-controller-cli
Red Hat:ansible_automation_platform:2.7::el10
From an advisory covering 2 CVEs
before 0:4.8.6-1.el10ap
0:4.8.6-1.el10ap
automation-controller-cli
Red Hat:ansible_automation_platform:2.7::el9
From an advisory covering 2 CVEs
before 0:4.8.6-1.el9ap
0:4.8.6-1.el9ap
django
Root:PyPI
before 4.1.13+aikido.5
4.1.13+aikido.52.2.28+aikido.53.2.25+aikido.4
python-Django
SUSE: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-django
Ubuntu: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 less
1: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-django
Ubuntu: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 less
2: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-django
Ubuntu:22.04:LTS
before 2:3.2.12-2ubuntu1.29, 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 25 moreShow less
2: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.27
2:3.2.12-2ubuntu1.29
python-django
Ubuntu:24.04:LTS
before 3:4.2.11-1ubuntu1.18, 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 16 moreShow less
3: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.16
3:4.2.11-1ubuntu1.18
python-django
Ubuntu:26.04:LTS
before 3:5.2.9-0ubuntu4.3, 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.1
3:5.2.9-0ubuntu4.3
python-django
Ubuntu:Pro:14.04:LTS
From an advisory covering 3 CVEs
before 1.6.11-0ubuntu1.3+esm12, plus listed versions
1.5.4-1ubuntu11.6-11.6.1-11.6.1-21.6.1-2ubuntu0.1
Show 29 moreShow less
1.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+esm11
1.6.11-0ubuntu1.3+esm12
python-django
Ubuntu:Pro:16.04:LTS
From an advisory covering 3 CVEs
before 1.8.7-1ubuntu5.15+esm13, plus listed versions
1.7.9-1ubuntu51.8.5-2ubuntu11.8.7-1ubuntu11.8.7-1ubuntu21.8.7-1ubuntu3
Show 27 moreShow less
1.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+esm12
1.8.7-1ubuntu5.15+esm13
python-django
Ubuntu:Pro:18.04:LTS
From an advisory covering 3 CVEs
before 1:1.11.11-1ubuntu1.21+esm17, 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 35 moreShow less
1: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+esm15
1:1.11.11-1ubuntu1.21+esm17
python-django
Ubuntu:Pro:20.04:LTS
From an advisory covering 3 CVEs
before 2:2.2.12-1ubuntu0.29+esm10, 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 39 moreShow less
2: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+esm8
2:2.2.12-1ubuntu0.29+esm10
python-django
Ubuntu:22.04:LTS
From an advisory covering 3 CVEs
before 2:3.2.12-2ubuntu1.29, 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 25 moreShow less
2: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.27
2:3.2.12-2ubuntu1.29
python-django
Ubuntu:24.04:LTS
From an advisory covering 3 CVEs
before 3:4.2.11-1ubuntu1.18, 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 16 moreShow less
3: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.16
3:4.2.11-1ubuntu1.18
python-django
Ubuntu:26.04:LTS
From an advisory covering 3 CVEs
before 3:5.2.9-0ubuntu4.3, 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.1
3:5.2.9-0ubuntu4.3
python-Django
openSUSE:Tumbleweed
From an advisory covering 4 CVEs
before 6.0.8-1.1
6.0.8-1.1
python-Django4
openSUSE:Tumbleweed
From an advisory covering 4 CVEs
before 4.2.30-5.1
4.2.30-5.1
python-Django5
openSUSE:Tumbleweed
From an advisory covering 4 CVEs
before 5.2.17-1.1
5.2.17-1.1
python-Django
openSUSE:Leap 16.0
From an advisory covering 4 CVEs
before 5.2.4-bp160.11.1
5.2.4-bp160.11.1

History

History
RecordedChangedSources
affected, facts
affected, aliases, referencesOSV
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-15307 is a high vulnerability (CVSS 8.7) 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.13%, the 66th percentile. Fixed in django 5.2.17.

References

Show 162 moreShow less
This page doesn't list everything

Left out here: 839 versions. The JSON record has them.

MoveEnter Open