Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify Django GIS endpoint accepting raster bytes
-
DeliverySubmit crafted malformed bytes payload
-
ExploitGDALRaster instantiated with mismatched buffer length
-
ExecutionAccess vsi_buffer triggers over-read
-
ImpactLeak adjacent heap memory or crash worker process
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Buffer access bounds checking
|
| Exploitation Conditions | Exploitation requires that the target Django application (1) has |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:L) scores 6.3 Medium. The AT:P (Attack Requirements: Present) metric is the critical moderating signal: exploitation requires the target application to actively use |
| Exploit ScenarioDerived | An attacker sends a crafted bytes payload representing a malformed raster object to a Django web endpoint that passes user-supplied data to |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 07, 2026
Memory over-read in Django's GIS module allows unauthenticated remote attackers to potentially disclose adjacent heap memory or degrade service availability via a segmentation fault. The django.contrib.gis.gdal.GDALRaster class fails to correctly bound its read when constructed from a bytes object, exposing raw memory when the vsi_buffer property is subsequently accessed. Affects Django 6.0 before 6.0.7 and 5.2 before 5.2.16; no public exploit identified at time of analysis and not listed in CISA KEV.
RemediationAI
Upgrade to Django 6.0.7 or Django 5.2.16, the vendor-released patched versions announced in the Django security release at https://www.djangoproject.com/weblog/2026/jul/07/security-releases/. For applications that cannot upgrade immediately, the primary compensating control is to restrict or disable any code paths that construct GDALRaster objects from untrusted bytes input - specifically, audit all call sites of django.contrib.gis.gdal.GDALRaster(bytes_object) and ensure the bytes source is strictly validated or sourced only from trusted internal data. Blocking unauthenticated access to GIS endpoints that process raster data reduces network exposure. If the vsi_buffer property is not used by your application, removing that access path eliminates the trigger condition, though this is a code-level mitigation that requires application changes. Deployments on unsupported Django series (5.0.x, 4.1.x, 3.2.x) should prioritize upgrading to a supported branch rather than seeking targeted backports.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in pypi
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The vulnerability resides in django.contrib.gis.gdal.GDALRaster, the Django wrapper around the GDAL (Geospatial Data Abstraction Library) raster interface. CWE-805 (Buffer Access with Incorrect Length Value) identifies the root cause: when a GDALRaster is instantiated from a raw bytes object, the underlying memory buffer length is not correctly tracked or enforced. When the vsi_buffer property is later accessed - which exposes the in-memory virtual filesystem buffer used by GDAL - the read operation extends beyond the allocated region, either leaking adjacent heap contents or dereferencing an invalid address. This is an in-process memory-safety issue in Python C extension code bridging to the native GDAL library. The CPE cpe:2.3:a:djangoproject:django:*:*:*:*:*:*:*:* confirms the affected software is the canonical Django package published by the Django Software Foundation.
Know when Django gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:L/SC:N/SI:N/SA:N
AC:H reflects AT:P attack requirement; exploitation needs application-specific GDALRaster bytes usage and vsi_buffer access, not default behavior.
AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:L
Primary rating from Vendor (DSF).
CVSS VectorVendor: DSF
Lifecycle Timeline
2DescriptionCVE.org
An issue was discovered in Django 6.0 before 6.0.7 and 5.2 before 5.2.16. django.contrib.gis.gdal.GDALRaster over-reads its in-memory buffer when constructed from a bytes object, which can disclose adjacent memory or cause service degradation via a potential segmentation fault when the vsi_buffer property is accessed. Earlier, unsupported Django series (such as 5.0.x, 4.1.x, and 3.2.x) were not evaluated and may also be affected. Django would like to thank Bence Nagy for reporting this issue.
Blast Radius
ecosystem impact- 12 pypi packages depend on django (12 direct, 0 indirect)
Ecosystem-wide dependent count for version 5.2.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
The package python/cpython from 0 and before 3.6.13, from 3.7.0 and before 3.7.10, from 3.8.0 and before 3.8.8, from 3.9
In Django 1.10.x before 1.10.8 and 1.11.x before 1.11.5, HTML autoescaping was disabled in a portion of the template for
An issue was discovered in Django 3.2 before 3.2.14 and 4.0 before 4.0.6. Rated critical severity (CVSS 9.8), this vulne
Django 3.1.x before 3.1.13 and 3.2.x before 3.2.5 allows QuerySet.order_by SQL injection if order_by is untrusted input
Django before 1.11.27, 2.x before 2.2.9, and 3.x before 3.0.1 allows account takeover. Rated critical severity (CVSS 9.8
An authentication/authorization bypass in the djust Python live-view framework (versions prior to 1.0.7) lets unauthenti
Unauthenticated arbitrary Python module import in djust before 1.0.7 lets any client that can reach the WebSocket or SSE
Django 1.11 before 1.11.29, 2.2 before 2.2.11, and 3.0 before 3.0.4 allows SQL Injection if untrusted data is used as a
Cross-site scripting (XSS) vulnerability in the dismissChangeRelatedObjectPopup function in contrib/admin/static/admin/j
Forged content modification in django-page-cms through 2.0.13 lets unauthenticated remote attackers exploit five CSRF-ex
Cross-site request forgery in djust's Server-Sent-Events transport affects all versions prior to 1.0.7 and allows a cros
Unauthenticated remote attackers can read live Django view and session state and invoke server-side handlers through dju
Same weakness CWE-805 – Buffer Access with Incorrect Length Value
View allSame technique Information Disclosure
View allVendor StatusVendor
SUSE
Severity: Moderate| Product | Status |
|---|---|
| SUSE Linux Enterprise Module for Package Hub 15 SP7 | Fixed |
| openSUSE Leap 16.0 | Fixed |
| openSUSE Tumbleweed | Fixed |
| SUSE Linux Enterprise Module for Package Hub 15 SP7 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP6 | Affected |
| openSUSE Leap 15.6 | Affected |
EUVD-2026-42044
GHSA-crhf-3pfg-w68w
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB