CVE-2026-15307Server-side file-write and request forgery via spatial lookups
Updated under an hour ago ()
Does this affect you?
It affects djangoproject Django. Add what you run to find out whether that includes you.
No exploitation reported and no EPSS estimate yet.
Do this next
Free account, 1 product
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.
- CVSS
- 8.8 HIGH (v3.1, CNA)CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- Weakness (CWE)
- CWE-73, CWE-918
- Known exploited
- Not in CISA's KEV catalog
- EPSS (exploitation in the next 30 days)
- Not loaded for this CVE
- Assigned by
- DSF
- NVD analysis
- Analyzed
- Record last updated
- Aug 5, 2026
- First seen by InfoSec Signals
- Oct 9, 2026
Affected products
djangoproject Django djangoproject:django (from the name) | from 6.0 before 6.0.8; 6.0.8 not affected; from 5.2 before 5.2.17; 5.2.17 not affected | CNA record |
djangoproject django djangoproject:django | before 5.2.17; from 6.0 before 6.0.8 | NVD |
References
- https://docs.djangoproject.com/en/dev/releases/security/vendor-advisory, patch
- https://groups.google.com/g/django-announcemailing-list
- https://github.com/django/django/commit/f1949c1f9758947ade984c895ff16bef46f56520patch
- https://github.com/django/django/commit/39b3e2d0c743a338def6c473086ebc06865e86b6patch
- https://github.com/django/django/commit/208f80cb682868b584ed0a78f23e4ba6304212aapatch
- https://github.com/django/django/commit/115ffd0463a765ab1cc93de18e94b5459b8a300epatch
- https://www.djangoproject.com/weblog/2026/aug/04/security-releases/vendor-advisory
The CVE record on cve.org NVD's entry
The CVE record is authoritative. Products marked “from the name” were identified from the CNA's free-text names, not a CPE, and are matched less certainly. This product uses the NVD API but is not endorsed or certified by the NVD.