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
CVE-2026-14669 — Exploit proof-of-concept per CVE-2026-14669, un heap buffer overflow nell'abbreviazione del fuso orario della funzione to_char() di PostgreSQL che consente RCE tramite information leak e catena ROP; include lab Docker e PoC automatizzato. | Kitploit
Strumenti/GitHubGitHub/hackspeak/cve-2026-14669
Analisi delle VulnerabilitàExploitPenetration TestingSviluppo PayloadSicurezza dei DatabaseBinary ExploitationLab e Pratica
GitHubhackspeak/cve-2026-14669

CVE-2026-14669

Exploit proof-of-concept per CVE-2026-14669, un heap buffer overflow nell'abbreviazione del fuso orario della funzione to_char() di PostgreSQL che consente RCE tramite information leak e catena ROP; include lab Docker e PoC automatizzato.

Vedi Repository
31422 giorni 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-14669 - Heap buffer overflow dell'abbreviazione del fuso orario in PostgreSQL to_char()

La funzione to_char() di PostgreSQL presenta una vulnerabilità di heap buffer overflow durante la formattazione del fuso orario. Impostando un'abbreviazione POSIX del fuso orario eccessivamente lunga, un attaccante può innescare una scrittura fuori dai limiti di un buffer fisso di 25 byte e, combinandola con la divulgazione di informazioni (info leak) e una catena ROP, ottenere l'esecuzione remota di codice.

Informazioni sulla vulnerabilità

  • ID CVE: CVE-2026-14669
  • Punteggio CVSS: 8.8 (Alto)
  • Tipo di vulnerabilità: heap buffer overflow → esecuzione remota di codice
  • Componente interessato: funzione to_char(timestamptz) di PostgreSQL
  • Team di scoperta: V12 Security

Versioni interessate

Serie PostgreSQLIntervallo interessato
18.x18.0 – 18.5
17.x17.0 – 17.10
16.x16.0 – 16.14
15.x15.0 – 15.18
14.x14.0 – 14.23

Versioni corrette

  • PostgreSQL 18.6+
  • PostgreSQL 17.11+
  • PostgreSQL 16.15+
  • PostgreSQL 15.19+
  • PostgreSQL 14.24+

Meccanismo della vulnerabilità

Il percorso di elaborazione DCH_TZ / DCH_tz in formatting.c utilizza un buffer di stack fisso di 25 byte per memorizzare l'abbreviazione del fuso orario, ma non effettua alcun controllo sulla lunghezza dell'input. Quando l'abbreviazione del fuso orario supera i 24 byte, strcpy() scrive oltre i limiti nella memoria heap.

Percorso di attivazione:

root@kitploit:~
SET TIME ZONE '<abbreviazione eccessivamente lunga>+00';
SELECT to_char(now()::timestamptz, 'TZ');
  ↓
DCH_to_char() → DCH_from_char_action()
  ↓
strcpy(buf, tmtcTzn(...))  ← overflow dell'heap

Condizioni di sfruttamento

  • Credenziali di autenticazione del database valide (privilegio minimo a livello USAGE)
  • Porta del database raggiungibile via TCP
  • Possibilità di eseguire istruzioni SQL

Catena di sfruttamento completa

Il PoC di V12 Security comprende tre fasi:

Fase 1: Perdita di informazioni

Corrompe gli oggetti heap adiacenti tramite l'overflow dell'heap, facendo trapelare l'indirizzo base PIE e i puntatori heap per bypassare l'ASLR.

Fase 2: Costruzione della catena ROP

Utilizza i large object o i campi bytea per disporre la catena di gadget ROP nell'heap.

Fase 3: Hijacking del flusso di controllo

Il secondo overflow sovrascrive i puntatori a funzione nell'heap, saltando alla catena ROP per eseguire comandi arbitrari (con i privilegi dell'utente postgres).

File del PoC

  • poc.py - script di sfruttamento completo (210 righe, per PostgreSQL 19beta1)
  • requirements.txt - dipendenze Python (psycopg, pwntools)
  • docker-compose.yml - ambiente di test della vulnerabilità

Utilizzo

1. Avviare l'ambiente di test

root@kitploit:~
docker-compose up -d

Attendere che il container sia completamente avviato (superamento dell'health check):

root@kitploit:~
docker logs pg-tzlab

2. Installare le dipendenze

root@kitploit:~
pip install -r requirements.txt

3. Eseguire il PoC

root@kitploit:~
python3 poc.py

Per impostazione predefinita si connette a 127.0.0.1:55432, con nome utente postgres e password postgres.

Dopo uno sfruttamento riuscito, l'output dell'esecuzione del comando è visibile nei log del container:

root@kitploit:~
docker logs pg-tzlab | grep PWNED

4. Configurazione personalizzata

Modificare le costanti in poc.py:

  • HOST, PORT - indirizzo di destinazione
  • DEFAULT_COMMAND - comando da eseguire

⚠️ Importante: questo PoC utilizza indirizzi di offset hardcoded per una build specifica (immagine Docker postgres:19beta1 sha256:a6bdd01...). Per le altre versioni è necessario ri-localizzare i gadget.

Misure di mitigazione

  1. Aggiornare immediatamente alla versione corretta (la misura più efficace)
  2. Isolamento di rete: limitare la porta del database ai soli host fidati
  3. Minimizzazione degli account: rimuovere gli account non necessari e imporre password forti
  4. Monitoraggio e allarmi: monitorare le istruzioni SET TIME ZONE eccessivamente lunghe (più di 50 caratteri)

Esclusione di responsabilità

⚠️ Questo PoC è destinato esclusivamente alla ricerca sulla sicurezza, alla verifica delle vulnerabilità e ai test difensivi.

  • Eseguirlo in un ambiente di test usa e getta (Docker lab)
  • Non utilizzarlo su ambienti non autorizzati o di produzione
  • Lo sfruttamento può causare il crash del processo del server di destinazione o l'hijacking del flusso di controllo

L'utilizzo di questo PoC implica l'accettazione di conformarsi alle leggi e ai regolamenti locali e ai limiti di autorizzazione del sistema di destinazione.

Riferimenti

  • Comunicato di sicurezza ufficiale di PostgreSQL
  • Annuncio di rilascio di PostgreSQL
  • Commit di correzione upstream
  • Analisi tecnica di V12 Security
  • Repository del PoC originale

Autore originale

  • PoC originale: team di V12 Security
  • Repository originale: https://github.com/v12-security/pocs
  • Licenza: il repository upstream non contiene un file LICENSE; questo repository adotta la MIT License
  • Questo repository: versione distribuita come mirror, mantenendo l'attribuzione all'autore originale
Scarica lo strumento