Jason A. Donenfeld, autor de VPN WireGuard, llamó la atención de los desarrolladores sobre un hack sucio presente en el código del núcleo de Linux, que modifica el comportamiento de los procesos cuyos nombres comienzan con el símbolo «X». A primera vista, tales correcciones suelen aplicarse en rootkits para dejar una puerta trasera oculta vinculada a procesos, pero un análisis mostró que el cambio fue añadido en 2019 para solucionar temporalmente un problema de compatibilidad emergente con el espacio de usuario, de acuerdo con el principio de que los cambios en el núcleo no deben romper la compatibilidad con las aplicaciones.
Los problemas surgieron al intentar utilizar el mecanismo de cambio atómico de modo de vídeo en el controlador DDX xf86-video-modesetting utilizado en el servidor X.Org, lo que justificó la vinculación a procesos que comienzan con el símbolo «X» (se suponía que el truco se aplicaba al proceso «Xorg»). Casi de inmediato, el problema en X.Org fue resuelto (el uso de API atómico fue deshabilitado por defecto), pero se olvidó quitar la solución temporal del núcleo y el intento de enviar ioctl para el cambio atómico de modo para todos los procesos que comienzan con el símbolo «X» todavía sigue produciendo un error. if (current->comm[0] == ‘X’ && req->value == 1) { pr_info(«se detectó un espacio de usuario de cambio atómico roto, deshabilitando atómico\n»); return -EOPNOTSUPP; }
Fuente: opennet.ru
