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/stvm8/cve-2026-2005_lab
Analisi delle VulnerabilitàExploitCTFApprendimento e FormazioneSicurezza dei DatabaseBinary ExploitationLab e Pratica
GitHubstvm8/cve-2026-2005_lab

CVE-2026-2005_lab

Lab Docker autonomo per esercitarsi nello sfruttamento di CVE-2026-2005, un heap buffer overflow nell'estensione pgcrypto di PostgreSQL, che consente l'escalation dei privilegi e l'esecuzione di codice nel container.

Vedi Repository
84 mesi 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-2005 — Lab Heap Overflow di pgcrypto di PostgreSQL

Un lab Docker autonomo per esercitarsi nello sfruttamento di CVE-2026-2005, un heap buffer overflow nell'estensione pgcrypto di PostgreSQL che consente l'esecuzione remota di codice senza privilegi di superutente.

Versioni interessate: PostgreSQL ≤ 17.7 / 16.11 / 15.15 / 14.20 / 18.1
Corretta in: 18.2, 17.8, 16.12, 15.16, 14.21 (rilasciata il 2026-02-12)


Configurazione

Requisiti: Docker, Docker Compose

root@kitploit:~
git clone <questo-repo>
cd CVE-2026-2005
docker compose up -d

PostgreSQL sarà in ascolto su 127.0.0.1:5433.


Il Tuo Punto di Partenza

Hai ottenuto le credenziali del database da un file di configurazione di un'applicazione:

ParametroValore
Host127.0.0.1
Porta5433
Databasetargetdb
Utentepentester
Passwordpentester123

Connettiti per confermare l'accesso:

root@kitploit:~
psql -h 127.0.0.1 -p 5433 -U pentester -d targetdb

L'account ha il privilegio CREATE sullo schema public. Non è un superutente.


Obiettivi

Cattura entrambe le flag per completare il lab.

Flag 1 — Escalation dei privilegi del database

root@kitploit:~
SELECT * FROM flag_db;
-- Leggibile solo dopo l'escalation a superutente all'interno della sessione del DB

Flag 2 — Esecuzione di codice nel container

root@kitploit:~
/var/lib/postgresql/flag.txt
-- Leggibile solo dopo l'esecuzione di comandi come utente OS postgres all'interno del container

Nota sull'ambito: COPY TO PROGRAM viene eseguito all'interno del container Docker, non sull'host. L'impatto principale nel mondo reale è l'accesso completo in lettura al database (tutte le tabelle, tutti i database). Raggiungere l'host Docker richiede una tecnica separata di container escape.


Contesto della Vulnerabilità

Il difetto si trova in pgp_parse_pubenc_sesskey() all'interno di pgcrypto/pgp-pubenc.c.

Quando decrittografa un pacchetto di chiave di sessione crittografato con chiave pubblica, la funzione deriva la lunghezza della chiave di sessione come msglen - 3 da un payload RSA/ElGamal controllato dall'attaccante e lo copia in un buffer fisso di 32 byte (PGP_MAX_KEY) senza validazione dei limiti. Un attaccante può scrivere centinaia di byte oltre il confine del buffer.

L'exploit procede in tre fasi:

  1. Fuga di informazioni — l'overflow espone i metadati heap adiacenti, rivelando il PIE base e gli indirizzi heap
  2. Scrittura arbitraria — corrompe la struct dst per sovrascrivere CurrentUserId in .data con 10 (BOOTSTRAP_SUPERUSERID)
  3. RCE nel container — con i privilegi di superutente, COPY (SELECT '') TO PROGRAM '<cmd>' esegue comandi OS come utente postgres all'interno del container. In una distribuzione reale senza Docker, ciò significa accesso a livello OS sull'host del database.

Poiché il layout ASLR è identico in tutte le connessioni allo stesso processo postmaster, gli indirizzi divulgati su una connessione rimangono validi su quella successiva.


Riferimenti Utili

  • NVD: CVE-2026-2005
  • Writeup tecnico: https://www.zeroday.cloud/blog/postgres-xint
  • Sorgente pgcrypto di PostgreSQL: pgcrypto/pgp-pubenc.c
  • Risoluzione dei simboli: objdump -t $(which postgres) | grep CurrentUserId

Smontaggio

root@kitploit:~
docker compose down -v

Note Legali

Questo lab è destinato esclusivamente a ricerca sulla sicurezza autorizzata e formazione. Eseguilo solo su sistemi di tua proprietà o per i quali hai esplicita autorizzazione al test.

Scarica lo strumento