CVE-2026-116249 in pgAdmin
Riassunto
di VulDB • 30/10/2026
In modalità server, pgAdmin 4 risolve il file delle password del server, i certificati SSL, le chiavi, la CRL e il file di identità per il tunnel SSH in modo relativo alla directory di archiviazione dell'utente; tuttavia, `get_complete_file_path()` rimuoveva solo gli slash iniziali prima di unire i due percorsi. Un percorso come `"../<altro utente>/.pgpass"`, impostato tramite la finestra di dialogo del server, l'API REST o un import da servers.json, indicava quindi il file di un altro utente e, durante la connessione, utilizzava le password salvate, il certificato client o la chiave SSH di tale utente. Il parametro di connessione `sslkeylogfile` veniva passato a libpq invariato; pertanto, un percorso esterno alla directory di archiviazione consentiva a libpq di creare o aggiungere file come l'account che esegue pgAdmin.
Anche `make_conninfo()` quotava i valori dei parametri di connessione ma non i loro nomi, quindi un nome di parametro manipolato poteva introdurre coppie keyword=value aggiuntive oltre questi controlli.
La correzione richiede che il percorso risolto (con i link simbolici risolti) rimanga all'interno della directory di archiviazione dell'utente o della directory di archiviazione condivisa nominata; confina `sslkeylogfile` nello stesso modo e accetta solo le parole chiave esatte di libpq come nomi dei parametri di connessione. Un percorso o una parola chiave rifiutati vengono segnalati invece di consentire a libpq di ricorrere ai valori predefiniti.
Questo problema interessa pgAdmin 4: prima della versione 9.19.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.