PostgreSQL, grave falla di code injection in pg_dump e utilità di backup (CVE-2025-8714/CVE-2025-8715)
Negli ultimi giorni la community di PostgreSQL ha pubblicato un security advisory che segnala due vulnerabilità critiche appena corrette, catalogate come CVE-2025-8714 e CVE-2025-8715. L’impatto è rilevante perché non riguarda il server in sé ma gli strumenti di backup e ripristino, componenti fondamentali nella gestione quotidiana di qualsiasi database. Le versioni affette includono tutte quelle fino a 17.5 compresa, mentre le patch sono state rilasciate con le nuove release 17.6, 16.10, 15.14, 14.19 e 13.22.
Il problema principale è una possibilità di code injection durante le operazioni di restore. Un dump SQL creato da pg_dump o pg_dumpall può contenere meta-comandi psql come \!, che normalmente permettono l’esecuzione di comandi di shell. Questi comandi, se incorporati da un attaccante all’interno di nomi di oggetti del database, non venivano adeguatamente sanitizzati e al momento del ripristino venivano interpretati dal client. Il risultato è l’esecuzione arbitraria di comandi sul sistema operativo con i privilegi dell’utente che lancia il restore. In uno scenario reale, un amministratore che esegue un backup di un database compromesso e poi lo ripristina su un nuovo sistema può inconsapevolmente eseguire codice malevolo sul proprio ambiente. Il secondo bug, legato all’uso di sequenze CRLF all’interno dei nomi, ha lo stesso effetto: iniettare linee aggiuntive che il parser di psql interpreta come comandi validi.
La criticità di queste falle sta nel fatto che il vettore d’attacco non richiede accesso diretto al server da parte dell’attaccante. È sufficiente distribuire un dump infetto, magari spacciato per un database condiviso o inviato come parte di procedure interne di test e migrazione. Poiché strumenti come pg_restore e pg_upgrade vengono usati regolarmente in contesti di alta fiducia, la superficie di attacco è ampia e spesso sottovalutata. In pratica, un’operazione che dovrebbe aumentare la resilienza — il backup — può trasformarsi nel punto di ingresso per compromettere un’intera infrastruttura.
Le patch rilasciate correggono la sanitizzazione dei meta-comandi, impedendo che possano essere interpretati in maniera non intenzionale. Chi utilizza versioni di PostgreSQL ancora supportate deve aggiornare immediatamente, senza differire, perché la finestra di exploit è già aperta e la tecnica di attacco è stata documentata pubblicamente. È anche consigliabile validare con attenzione i dump ricevuti da fonti non completamente affidabili ed evitare di lanciare restore con privilegi amministrativi non strettamente necessari.
Questa vicenda ricorda ancora una volta che la sicurezza non riguarda soltanto i processi in ascolto su una porta di rete, ma l’intero ecosistema di strumenti, utility e procedure che orbitano intorno a un database. In un’epoca in cui le supply chain di software e dati rappresentano il bersaglio principale degli attaccanti, perfino un file di backup può diventare un’arma di compromissione. PostgreSQL rimane un progetto solido e maturo, ma il rilascio del 14 agosto 2025 segna una data che gli amministratori non possono ignorare: aggiornare subito è l’unico modo per non trasformare un’operazione di routine in un disastro di sicurezza.
Commenti
Posta un commento