CVE-2026-86861 in pgAdmininformazioni

Riassunto

di VulDB • 17/09/2026

Il punto di salvataggio `save_file` del Gestore file (File Manager) di pgAdmin 4, che supporta il salvataggio dallo Strumento di Query e dall'ERD, convalidava il percorso richiesto tramite `Filemanager.check_access_permission()` e poi apriva il file per la scrittura utilizzando una chiamata `open()` standard. La CVE-2026-7819 aveva precedentemente rafforzato il percorso separato di caricamento dei file aprendone il target con l'opzione `O_NOFOLLOW`, in modo che il kernel rifiutasse di seguire un link simbolico nell'ultimo componente del percorso, ma `save_file` è rimasto esposto a una chiamata `open()` non protetta. Un link simbolico già presente al momento dell'esecuzione del controllo veniva respinto dallo stesso controllo; l'esposizione residua era costituita da un link sostituito nell'ultimo componente del percorso durante l'intervallo di tempo tra il controllo e la scrittura, punto in cui la scrittura seguiva il link finendo fuori dalla directory di archiviazione dell'utente, creando o sovrascrivendo un file arbitrario con l'account del sistema operativo che esegue pgAdmin.

Lo sfruttamento richiede la capacità di creare o sostituire un link simbolico all'interno della directory di archiviazione dell'utente richiedente. pgAdmin non espone alcuna interfaccia che crei link simbolici, quindi ciò richiede l'accesso al filesystem sul host di pgAdmin o su un backend di archiviazione condiviso o montato in rete, unito alla capacità di vincere la finestra temporale (race condition). Il segnalatore non è riuscito a scrivere contro una versione rilasciata, avendo tentato circa 63.000 richieste concorrenti senza successo; il difetto riportato riguarda il percorso di scrittura scoperto piuttosto che un'evasione dimostrata della sandbox.

La correzione instrada la scrittura di `save_file` attraverso lo stesso helper protetto da `O_NOFOLLOW` già utilizzato dal percorso di caricamento, in modo che entrambi i punti di destinazione (sink) per le scritture del Gestore file abbiano una protezione identica imposta a livello di kernel e segnalino esplicitamente il rifiuto del link simbolico invece di mostrare il testo dell'errore di sistema sottostante. Si noti che i file creati da `save_file` ora ricevono la modalità 0600, ereditando il comportamento introdotto per i caricamenti. La protezione copre l'ultimo componente del percorso; la sostituzione di un componente directory intermedio non è affrontata da questa modifica.

Questo problema interessa pgAdmin 4: dalla introduzione del controllo di contenimento nel percorso di salvataggio del Gestore file prima della versione 9.18.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsabile

PostgreSQL

Prenotare

08/09/2026

Divulgazione

17/09/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00000

KEV

no

Attività

molto basso

Fonti

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!