Sono stati pubblicati aggiornamenti correttivi per X.Org Server 21.1.23 e per il componente DDX (Device-Dependent X) xwayland 24.1.12, che consente l'esecuzione di X.Org Server per gestire le applicazioni X11 in ambienti basati su Wayland. Nelle nuove versioni sono state risolte 9 vulnerabilità. Alcune di queste vulnerabilità possono potenzialmente essere sfruttate per aumentare i privilegi nei sistemi in cui il server X viene eseguito con i diritti di root, nonché per l'esecuzione remota di codice in configurazioni in cui l'accesso avviene tramite il reindirizzamento della sessione X11 mediante SSH.
Vulnerabilità corrette (CVE identificatori non assegnati):
- Buffer overflow durante l'elaborazione di nomi di font alternativi. Il problema è causato da diverse limitazioni sulla dimensione del nome del font nella libreria libXfont2 e nel server X — un server veniva allocato uno spazio di 256 byte per il nome, mentre la libreria consentiva la trasmissione di nomi fino a 1024 byte.
- Accesso alla memoria dopo il rilascio nelle funzioni miSyncDestroyFence(), FreeCounter() e SyncChangeCounter() a causa di errori nell'aggiornamento dei contatori di riferimento.
- Buffer overflow durante l'elaborazione di determinati tipi di tasti in XKB. Il problema si verifica a causa di un calcolo errato della dimensione della tabella dei codici dei caratteri.
- Overflow del buffer in XKB, che si verifica durante l'elaborazione delle richieste SetMap a causa della mancanza di un'adeguata verifica della dimensione dei dati inviati dal cliente.
- Scrittura e lettura di dati al di fuori dei limiti del buffer in GLX a causa di un controllo errato della dimensione degli attributi ricevuti dall'utente nella funzione ChangeDrawableAttributes.
- Accesso alla memoria dopo la sua liberazione, che si verifica dopo la modifica degli attributi della finestra e la chiamata forzata del salvaschermo. Il problema può portare a perdite di contenuto dalla memoria del processo.
- Scrittura in memoria al di fuori del buffer allocato nelle funzioni DRI2 DRIGetBuffers e DRIGetBuffersWithFormat, che si verifica quando viene richiesta più di un'istanza di DRI2BufferBackLeft, ma una sola istanza di DRI2BufferFrontLeft.
Fonte: opennet.ru
