Sono stati rilasciati aggiornamenti correttivi per tutti i rami supportati di PostgreSQL 16.4, 15.8, 14.13, 13.16, 12.20, che risolvono 56 errori emersi negli ultimi tre mesi. Tra l'altro, nelle nuove versioni è stata eliminata una vulnerabilità (CVE-2024-7348), classificata come pericolosa (livello di gravità 8.8 su 10). Questa vulnerabilità è causata da una condizione di race nella utility pg_dump, che consente a un attaccante con diritti di creazione e cancellazione di oggetti permanenti nel database di eseguire codice SQL arbitrario con i privilegi dell'utente sotto il quale viene eseguita l'utility pg_dump (di solito, pg_dump viene eseguito con i privilegi di superutente per il backup del database).
Per un attacco di successo è necessario monitorare il momento in cui viene avviato lo strumento pg_dump, il che può essere facilmente realizzato tramite manipolazioni con una transazione aperta. L'attacco consiste nella sostituzione della sequenza con una vista o una tabella esterna che definisce il codice SQL da eseguire, nel momento in cui viene avviato pg_dump, quando le informazioni sulla presenza della sequenza sono già state ottenute, ma i dati non sono ancora stati estratti. Per bloccare la vulnerabilità è stata aggiunta l'impostazione "restrict_nonsystem_relation_kind", che vieta la divulgazione di viste non sistemiche e l'accesso a tabelle esterne in pg_dump.
Fonte: opennet.ru
