CVE-2026-1207 is a high-severity SQL injection vulnerability in Django affecting raster lookups on RasterField and GIS fields when backed by PostGIS. The flaw allows remote attackers to inject SQL through the band index parameter if untrusted input is passed into raster lookup operations. Affected versions are Django 6.0 before 6.0.2, 5.2 before 5.2.11, and 4.2 before 4.2.28. Unsupported series, including 5.0.x, 4.1.x, and 3.2.x, were not evaluated and may also be affected.
Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.
What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.
What an attacker gets, and what they’ve been doing with it.
If you can’t patch tonight, do this now.
Patch, then assume compromise.
1 valid exploit after Mallory filtered fakes, detection scripts, and README-only repos.
This repository is a runnable proof-of-concept environment for CVE-2026-1207, demonstrating a SQL injection flaw in Django GIS RasterField query handling. It is not an exploit framework module; it is a standalone Django project built to reproduce the issue locally. Repository structure: the root contains a standard Django project with manage.py, a project package web/, and a vulnerable app vuln/. The vuln app defines RasterModel and RasterRelatedModel in vuln/models.py using django.contrib.gis.db.models.RasterField and PointField. The vulnerable HTTP route is exposed through web/urls.py -> vuln/urls.py as /book/search. The core vulnerable logic is in vuln/views.py, where Books.get() reads the attacker-controlled GET parameter band and passes it directly into RasterModel.objects.filter(rast__contains=(rast, band)). A GDALRaster object is constructed inline to satisfy the lookup. The query is printed and executed with qs.count(), making the injection observable. Exploit capability: the code enables web-based SQL injection against the backend PostgreSQL/PostGIS database through the band parameter. The README and inline comment provide a time-based blind payload using pg_sleep(3): 1);select '1'||pg_sleep(3) --. This confirms that arbitrary SQL fragments can be injected into the generated GIS SQL. The exploit does not include post-exploitation automation, credential dumping, or shell payloads; it is focused on proving injection. Environment and targeting: the devcontainer setup provisions Python 3.11, Django 5.2.9, psycopg2-binary, GDAL/GEOS/PROJ libraries, and a PostGIS container with postgis and postgis_raster extensions enabled. The web service is exposed on port 8087 and the database service is reachable as db:5432. The README explicitly states the issue affects django.contrib.gis RasterField and demonstrates exploitation via http://localhost:8087/book/search. Assessment: this is a real exploit POC rather than a scanner or detection-only script. Its maturity is POC because it demonstrates exploitation with a hardcoded payload example but does not provide a generalized exploitation toolkit or customizable weaponized payload handling.
Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.
Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.
44 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.
A SQL injection vulnerability in Django via the RasterField band index parameter.
A SQL injection vulnerability in Django via the RasterField band index parameter.
A SQL injection vulnerability in Django's RasterField raster lookup functionality on PostGIS, where remote attackers can inject SQL via the band index parameter.
Unknown (listed as a trending CVE affecting Django; no technical details provided in the content).
Query your assets running an affected version, and investigate the blast radius.
Every observed campaign linking this CVE to a named adversary.
Malware families riding this exploit, with evidence and IOCs.
YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.
Cross-references every affected SKU, including bundled OEM variants.
Community discussion across Reddit, Mastodon, and other social sources.