Débarrasser le noyau Linux du code de changement de comportement pour les processus commençant par X

Jason A. Donenfeld, auteur de VPN WireGuard, a attiré l'attention des développeurs sur un piratage sale présent dans le code du noyau Linux qui modifie le comportement des processus dont le nom commence par le caractère "X". À première vue, des correctifs comme celui-ci sont généralement appliqués dans les rootkits pour laisser une faille cachée dans la liaison de processus, mais l'analyse a montré que le changement a été ajouté en 2019 pour corriger temporairement une violation de compatibilité de l'espace utilisateur qui avait fait surface, conformément au principe selon lequel les modifications apportées au noyau ne doivent pas rompre la compatibilité des applications.

Des problèmes sont survenus lors de la tentative d'utilisation du mécanisme de changement de mode vidéo atomique dans le pilote DDX xf86-video-modesetting utilisé dans le serveur X.Org, ce qui a provoqué la liaison aux processus commençant par le caractère « X » (on a supposé que la solution de contournement était appliquée au " xorg"). Presque immédiatement, le problème dans X.Org a été corrigé (l'utilisation de l'API atomique était désactivée par défaut), mais le correctif provisoire a été oublié pour être supprimé du noyau, et une tentative d'envoi d'un ioctl pour changer atomiquement le mode pour tous les processus commençant par le caractère "X" continuent de produire une erreur. if (current->comm[0] == 'X' && req->value == 1) { pr_info("espace utilisateur modeset atomique cassé détecté, désactivation de atomic\n"); retour -EOPNOTSUPP ; }

Source: opennet.ru

Ajouter un commentaire