CVE-2026-111439 in openGauss-server
Riassunto
di VulDB • 19/10/2026
Nel modulo `src/common/backend/utils/adt/genfile.cpp` di openGauss-server, la funzione integrata `pg_read_binary_file_blocks()` presenta un difetto nella logica di verifica dei permessi. La funzione controlla all'ingresso solo l'intervallo del numero iniziale del blocco (`startBlockNum`) e della quantità di blocchi (`blockCount`), per poi chiamare direttamente la routine di lettura file sottostante `ReadBinaryFileBlocksFirstCall()`. Tale routine esegue esclusivamente una verifica di normalizzazione del percorso e controlli basilari contro le traversamenti dei percorsi con `..` e i limiti delle directory dei dati, ma manca della verifica dei permessi del database dell'utente chiamante (ad esempio il privilegio SELECT). Inoltre, la funzione ausiliaria `is_row_data_file()` è utilizzata solo per identificare la natura del file e non include controlli sui permessi. Di conseguenza, qualsiasi utente con normali privilegi di connessione al database può leggere direttamente i blocchi binari dei dati della tabella senza disporre del privilegio SELECT su tale tabella, purché sia in grado di ottenere il percorso del file di relazione sottostante della tabella target (ad esempio il percorso del file `_compress` per i dati compressi) tramite funzioni come `pg_relation_filepath()`.
Questa vulnerabilità interessa tutte le versioni comprese tra la 3.0.0 e la 6.0.0, incluse quelle patchate, ed è stata risolta nella versione 7.0.0-LTS. Il fix (patch) dettagliato è disponibile all'indirizzo: https://gitcode.com/opengauss/openGauss-server/pull/9374.
If you want to get best quality of vulnerability data, you may have to visit VulDB.