
Il database open source corregge una falla nel codice di replica vecchia di 12 anni
Gli aggiornamenti al database open source chiudono CVE-2026-6471, un difetto di decodifica logica presente dal 2014 che potrebbe consentire agli account con ruolo di replica di eseguire codice come utente del server di database.
Il database open source ha rilasciato nuovi aggiornamenti per chiudere una vulnerabilità nella sua funzionalità di decodifica logica che potrebbe consentire a un account di database con diritti di replica di eseguire codice arbitrario come utente del sistema operativo che esegue il server di database. Il difetto, tracciato come CVE-2026-6471 con un punteggio CVSS di 7.2, esiste da quando la decodifica logica è stata introdotta nella versione 9.4 di questo database nel 2014, rendendolo vecchio di circa dodici anni. Tutte le versioni precedenti alle ultime release 18.6, 17.11, 16.15, 15.19 e 14.24 sono interessate. Lo sfruttamento richiede due condizioni: un account con l'attributo REPLICATION e un server in esecuzione con wal_level = logical. Gli strumenti di backup, i server standby, le pipeline di change data capture (CDC) e i sistemi di monitoraggio detengono abitualmente tale attributo, quindi l'esposizione pratica può raggiungere molti ambienti di produzione.
La decodifica logica è una funzionalità del database open source che trasforma il record interno delle modifiche al database in un flusso leggibile, che strumenti come software di backup e sistemi di replica dei dati possono consumare. L'aggiornamento rilasciato il 13 agosto aggiunge un nuovo parametro di server chiamato output_plugin_libraries. Questo parametro è una whitelist di librerie che possono essere caricate come plugin di output di decodifica logica e per impostazione predefinita include il plugin di output integrato e il plugin di decodifica di test integrato. Le installazioni che utilizzano qualsiasi altro plugin di output, inclusi wal2json e decoderbufs, vedranno rifiutata la decodifica logica dopo l'aggiornamento fino a quando un amministratore non aggiunge la libreria a tale elenco e ricarica la configurazione del server. Il progetto dietro al database open source ha spiegato nelle note di rilascio della 18.6 che un utente di replica poteva precedentemente selezionare qualsiasi libreria caricabile per la decodifica logica, il che consentiva vari exploit, e la nuova whitelist blocca questo senza rompere le configurazioni esistenti.
Il progetto dietro al database open source ha accreditato Vladimir Tokarev e Yu Kunpeng per aver segnalato il problema. Tokarev ha pubblicato un dettagliato rapporto il 1 settembre per la società di sicurezza dei dati Cyera Research, che chiama il difetto PostGREShell. Cyera ha spiegato che il nome del plugin fornito durante la creazione di uno slot di replica viene passato direttamente alla funzione che carica la libreria. La restrizione esistente del database sui percorsi dei plugin, che limita i non superuser a una singola directory controllata dall'amministratore, non viene mai chiamata sul percorso di replica. Inoltre, il parser del protocollo di replica accetta quasi qualsiasi carattere all'interno di un nome di plugin tra virgolette, inclusi separatori di percorso e traversal ../, quindi un percorso completo del filesystem raggiunge il caricatore come digitato. Su Windows, il server risolve un percorso di rete tramite Server Message Block (SMB) e recupera la libreria da una macchina controllata dall'attaccante, senza scrivere nulla sul target, ha detto Cyera. Su Linux e macOS, lo stesso risultato richiede l'abilitazione del montaggio automatico di Network File System (NFS). Ovunque altro l'attaccante ha bisogno di un modo esistente per scrivere un file sul disco del server. Il codice caricato in questo modo viene eseguito all'interno del processo backend del database come utente del sistema operativo che esegue il server di database.
Il plugin di test di Cyera ha quindi scritto direttamente il catalogo dei ruoli per rendere l'account di replica un superuser del database open source, un account a livello di amministratore. Ha anche impostato tre meccanismi di persistenza che sopravvivono al riavvio del server. Cyera descrive l'attributo REPLICATION come una credenziale di backup a basso privilegio, ma il database open source ha valutato la falla con Privilegi Richiesti impostati su Alto, una valutazione riprodotta nella propria valutazione di SUSE. Il progetto ha rifiutato di applicare la sua restrizione LOAD esistente al percorso di replica. Jacob Champion, che ha scritto la correzione, ha spiegato nel messaggio di commit che gli utenti REPLICATION non erano precedentemente soggetti a restrizioni sui percorsi dei plugin di output, quindi potevano bypassare le protezioni al momento del LOAD durante la decodifica logica. Aggiungere ora le restrizioni LOAD standard richiederebbe retroattivamente che tutti i plugin di output di terze parti siano installati sotto la directory dei plugin, il che romperebbe le configurazioni esistenti. I caricamenti falliti vengono registrati nel log del server con un messaggio che la libreria potrebbe non essere utilizzata come plugin di output, con un suggerimento che nomina l'impostazione, secondo la documentazione del parametro.
Agli amministratori si consiglia di interrogare il catalogo degli slot di replica per elencare i plugin di output attualmente in uso, che mostrerà solo i plugin utilizzati con successo in qualche momento. Dovrebbero quindi aggiornare a 18.6, 17.11, 16.15, 15.19 o 14.24, o al pacchetto di distribuzione equivalente. Qualsiasi plugin non predefinito deve essere aggiunto a output_plugin_libraries e la configurazione deve essere ricaricata utilizzando il comando di controllo standard o la funzione di ricaricamento della configurazione. Non è richiesto un riavvio. Quando si migra dalla versione 17 o successiva, output_plugin_libraries del nuovo cluster deve essere impostato prima di eseguire la modalità di controllo dell'utility di aggiornamento, poiché il controllo fallisce se l'elenco non consente i plugin degli slot del vecchio cluster. I pacchetti corretti sono disponibili su Amazon RDS per tutti e cinque i rami, oltre che da Debian, SUSE e Ubuntu. L'avviso del progetto copre i rami supportati dalla 14 alla 18 e non affronta quelli precedenti. La versione 14 smette di ricevere correzioni il 12 novembre 2026, ha detto il progetto nel suo annuncio di rilascio.
La correzione a monte "richiede modifiche aggiuntive alla configurazione se vengono utilizzate alcune estensioni", avverte l'avviso di Debian, nominando i suoi pacchetti wal2json e decoderbufs. L'USN-8653-1 di Ubuntu, che ha distribuito la correzione per 22.04, 24.04 e 26.04 LTS il 20 agosto, non menziona il parametro e dice agli amministratori solo di riavviare il server di database dopo l'aggiornamento. Al 4 settembre, il progetto wal2json aveva aggiornato la sua documentazione per dire agli utenti di aggiungere il plugin a output_plugin_libraries, citando la CVE. Una lacuna nella correzione è ancora aperta. L'utility di creazione delle sottoscrizioni crea slot di replica utilizzando il plugin di output integrato senza controllare il nuovo parametro, quindi una modalità di prova riesce e la conversione poi fallisce. Hayato Kuroda di Fujitsu ha spiegato sulla mailing list di sviluppo che il comando crea slot di replica con il plugin di output integrato senza controllare l'impostazione di configurazione, il che significa che se il nome del plugin non è specificato nel parametro, la modalità di prova passa ma la conversione effettiva fallisce, il che è sorprendente per gli utenti e dovrebbe essere evitato. Una patch era in revisione e non era stata ancora impegnata al 4 settembre. CVE-2026-6471 rimaneva assente dal catalogo KEV di CISA al 4 settembre, e The Hacker News non ha trovato codice proof-of-concept per essa nei repository pubblici alla stessa data.
Fino a quando l'aggiornamento non può essere applicato, Cyera ha detto che l'esposizione può essere ridotta rimuovendo l'attributo REPLICATION dagli account che non ne hanno bisogno, limitando le voci di replica nel file di configurazione dell'autenticazione basata su host a indirizzi noti, bloccando il traffico SMB in uscita (porta 445) e NFS (porta 2049) dai server di database e disabilitando autofs dove non è necessario. Per i team che gestiscono servizi basati su questo database open source, AEU-I offre IT, infrastruttura e consulenza security-first che possono aiutare a rivedere le impostazioni del server e coordinare aggiornamenti come questo.
Come Proteggerti
- Se il tuo sito web o la tua azienda usa il database open source, chiedi subito al tuo provider di hosting o al team IT di installare l'ultimo aggiornamento di sicurezza.
- Chiedi al tuo amministratore di database di rimuovere il privilegio di replica da qualsiasi account che non ne abbia realmente bisogno.
- Dopo l'aggiornamento, chiedi all'amministratore di verificare che eventuali plugin di replica speciali come wal2json o decoderbufs siano ancora consentiti e che i backup continuino a funzionare.
- Se gestisci il server da solo, limita le connessioni di replica a indirizzi noti e disattiva le funzionalità di condivisione file che non usi.
- Dopo l'aggiornamento, presta attenzione a messaggi di errore insoliti del database relativi ai plugin di output e contatta l'assistenza se la replica si interrompe.
Vulnerabilità e Soluzioni
- CVE-2026-6471 Open-source database logical decoding output plugin directory traversal flaw allowing replication-role code execution; fixed in open-source database 18.6, 17.11, 16.15, 15.19, and 14.24. Vedi la soluzione e i dettagli →
I Termini Spiegati
- open-source database Un sistema di database open source utilizzato per archiviare e gestire dati di siti web e applicazioni.
- logical decoding Una funzionalità del database open source che trasforma le modifiche al database in un flusso leggibile, così che gli strumenti possano copiarle o monitorarle.
- output plugin Un componente software aggiuntivo che formatta il flusso delle modifiche al database per uno strumento specifico.
- REPLICATION attribute Un permesso del database che consente a un account di leggere e copiare le modifiche al database, spesso usato dagli strumenti di backup.
- host-based authentication configuration file Il file di configurazione del database open source che controlla quali computer e account possono connettersi al database.
- SMB Server Message Block, un protocollo di condivisione file di rete usato principalmente dai computer Windows.
- NFS Network File System, un modo per i computer di condividere cartelle su una rete.
- superuser Un account di database a livello di amministratore che può fare qualsiasi cosa sul sistema.