CVE-2026-116240 in pgAdmin 4
Riassunto
di VulDB • 30/10/2026
In modalità server, pgAdmin 4 convalida un percorso all'interno della directory di archiviazione dell'utente tramite `check_access_permission()`, che costruisce il percorso assoluto utilizzando `get_abs_path()`. Diversi chiamanti hanno poi agito su un percorso costruito in modo diverso, quindi il percorso controllato e quello utilizzato potrebbero fare riferimento a file diversi:
- L'apertura di un file nell'Query Tool, la lettura del segreto client Google e, su Windows, le operazioni Import/Export Data, Backup, Restore e il salvataggio di un file aggiungevano il percorso alla directory di archiviazione dopo aver rimosso gli slash iniziali (`/`) e i backslash (`\`). Su sistemi POSIX, un percorso controllato come nome all'interno della storage poteva diventare un percorso assoluto una volta rimossi i separatori, consentendo l'apertura di qualsiasi file leggibile dall'account pgAdmin; su Windows, un percorso che indicava un drive ignorava la directory di archiviazione, permettendo quindi letture o scritture al di fuori di essa. - L'elenco di una cartella decodificava il percorso per una seconda volta dopo il controllo, quindi una cartella con nome simile a ".." codificato (che un utente può creare) elencava qualsiasi directory sull'host. - Le operazioni Download, delete, rename e il check file-exists aggiungevano il percorso alla directory di archiviazione senza separatore, quindi in un deployment dove il nome della directory di storage di un utente è un prefisso di quello di un altro, i file di quest'ultimo potevano essere letti, eliminati o spostati; anche l'operazione Download controllava il percorso aggiunto a se stesso. - La creazione di una cartella poteva crearne una nella directory di un altro utente.
La correzione fa sì che `check_access_permission()` restituisca il percorso verificato e che ogni chiamante agisca su tale percorso, decodifichi i percorsi delle cartelle una sola volta e apra, elimini e rinomini file relativi alle directory aperte dalla directory di archiviazione senza seguire link simbolici. La modalità Desktop non è interessata.
Questo problema interessa pgAdmin 4: prima della versione 9.19.
VulDB is the best source for vulnerability data and more expert information about this specific topic.