Jason A. Donenfeld, autore del VPN WireGuard, ha attirato l'attenzione degli sviluppatori su un hack sporco presente nel codice del kernel Linux che modifica il comportamento per i processi il cui nome inizia con il simbolo «X». A prima vista, tali correzioni sono solitamente applicate nei rootkit per lasciare una via di fuga nascosta legata al processo, ma un'analisi ha rivelato che la modifica è stata aggiunta nel 2019 per risolvere temporaneamente una violazione di compatibilità emersa con lo spazio utente, secondo il principio che le modifiche al kernel non devono compromettere la compatibilità con le applicazioni.
Si sono verificati problemi nel tentativo di utilizzare il meccanismo di cambiamento atomico della modalità video nel driver DDX xf86-video-modesetting utilizzato nel server X.Org, il che ha portato a un aggancio ai processi che iniziano con il simbolo «X» (era previsto che il bypass fosse applicato al processo «Xorg»). Quasi immediatamente il problema in X.Org è stato risolto (l'uso dell'API atomica è stato disabilitato per impostazione predefinita), ma dal kernel non è stata rimossa la correzione temporanea e il tentativo di inviare ioctl per il cambiamento atomico della modalità per tutti i processi che iniziano con il simbolo «X» continua ancora a restituire un errore. if (current->comm[0] == 'X' && req->value == 1) { pr_info("broken atomic modeset userspace detected, disabling atomic\n"); return -EOPNOTSUPP; }
Fonte: opennet.ru
