È stato pubblicato un aggiornamento correttivo della libreria libXpm 3.5.15, sviluppata dal progetto X.Org e utilizzata per elaborare file in formato XPM. Nella nuova versione sono state risolte tre vulnerabilità, due delle quali (CVE-2022-46285, CVE-2022-44617) portano a un ciclo infinito durante l'elaborazione di file XPM appositamente formattati. La terza vulnerabilità (CVE-2022-4883) consente di eseguire comandi arbitrari durante l'esecuzione delle applicazioni che utilizzano libXpm. L'avvio di processi privilegiati associati a libXpm, ad esempio, programmi con il flag suid root, sfrutta questa vulnerabilità per elevare i propri privilegi.
La vulnerabilità è causata da una particolarità del funzionamento di libXpm con file compressi XPM: durante l'elaborazione di file XPM.Z o XPM.gz, la libreria avvia utilità di estrazione esterne (uncompress o gunzip) tramite la chiamata execlp(), il cui percorso è calcolato sulla base della variabile d'ambiente PATH. L'attacco consiste nel posizionare in una directory accessibile all'utente, presente nell'elenco PATH, propri file eseguibili uncompress o gunzip, che verranno eseguiti nel caso in cui venga avviata un'applicazione che utilizza libXpm.
La vulnerabilità è stata risolta sostituendo la chiamata execlp con execl utilizzando percorsi assoluti alle utilità. È stata inoltre aggiunta un'opzione di build "—disable-open-zfile" che consente di disabilitare l'elaborazione di file compressi e la chiamata a utilità esterne per l'estrazione.
Fonte: opennet.ru
