Sono state pubblicate le versioni correttive di X.Org Server 21.1.9 e del componente DDX (Device-Dependent X) xwayland 22.2.2, che consente l'esecuzione di X.Org Server per l'organizzazione dell'esecuzione di applicazioni X11 in ambienti basati su Wayland. Nelle nuove versioni sono state corrette le vulnerabilità che potrebbero essere sfruttate per un'elevazione dei privilegi nei sistemi in cui il server X viene eseguito con diritti root, oltre che per l'esecuzione remota di codice in configurazioni in cui viene utilizzato il reindirizzamento della sessione X11 tramite SSH.
Problemi riscontrati:
- CVE-2023-5367 — overflow del buffer nelle funzioni XIChangeDeviceProperty e RRChangeOutputProperty, che può essere sfruttato allegando ulteriori elementi alla proprietà del dispositivo di input o alla proprietà randr. La vulnerabilità si manifesta a partire dalla versione xorg-server 1.4.0 (2007) ed è causata dal calcolo di uno spostamento errato durante l'aggiunta di ulteriori elementi a proprietà esistenti, per cui gli elementi vengono aggiunti con uno spostamento errato, portando alla scrittura in un'area di memoria al di fuori del buffer allocato. Ad esempio, aggiungendo 3 elementi a 5 esistenti, verrà allocata memoria per un array di 8 elementi, ma gli elementi già esistenti saranno salvati nel nuovo array a partire dall'indice 5 anziché da 3, portando alla scrittura degli ultimi due elementi oltre il buffer.
- CVE-2023-5380 — accesso alla memoria dopo la sua liberazione (use-after-free) nella funzione DestroyWindow. Il problema può essere sfruttato spostando il puntatore tra gli schermi in configurazioni multischermo in modalità zaphod, in cui viene creato uno schermo separato per ciascun monitor, e richiamando la funzione di chiusura della finestra cliente. La vulnerabilità si manifesta a partire dalla versione xorg-server 1.7.0 (2009) ed è causata dal fatto che, dopo la chiusura della finestra e la liberazione della memoria associata, nella struttura che gestisce il binding allo schermo rimane un puntatore attivo alla finestra precedente. Xwayland non è soggetto alla vulnerabilità in questione.
- CVE-2023-5574 — accesso alla memoria dopo la sua liberazione (use-after-free) nella funzione DamageDestroy. La vulnerabilità può essere sfruttata in server Xvfb è in fase di pulizia della struttura ScreenRec durante l'arresto del server o la disconnessione dell'ultimo cliente. Come per la vulnerabilità precedente, il problema si manifesta solo nelle configurazioni multi-monitor in modalità Zaphod. La vulnerabilità è presente a partire dalla versione xorg-server-1.13.0 (2012) e rimane irrisolta (la correzione è disponibile solo come patch).
Oltre a risolvere le vulnerabilità in xwayland 23.2.2, è stato effettuato il passaggio dalla libreria libbsd-overlay a libbsd e interrotto il collegamento automatico all'interfaccia RemoteDesktop XDG Desktop Portal per determinare il socket utilizzato per l'invio ai composti server di eventi XTest. Il collegamento automatico causava problemi nell'avvio di Xwayland in un server composito annidato, quindi nella nuova versione è necessario specificare esplicitamente l'opzione «-enable-ei-portal» per collegarsi al portale.
Fonte: opennet.ru
