Eliminar o núcleo de Linux do código que cambia o comportamento para procesos que comezan con X

Jason A. Donenfeld, autor de VPN WireGuard, chamou a atención dos desenvolvedores sobre un hack sucio presente no código do núcleo de Linux que cambia o comportamento dos procesos cuxos nomes comezan co carácter "X". A primeira vista, tales correccións adoitan usarse nos rootkits para deixar unha porta traseira oculta no proceso de vinculación, pero a análise revelou que o cambio engadiuse en 2019 para corrixir temporalmente unha violación da compatibilidade do espazo de usuario emerxente, de acordo co principio de que se modifica o núcleo non debe romper a compatibilidade coas aplicacións.

Os problemas xurdiron ao intentar usar o mecanismo para cambiar atómicamente o modo de vídeo no controlador DDX xf86-video-modetting usado no servidor X.Org, o que se debía á vinculación a procesos que comezaban co carácter "X" (supouse que que a solución foi aplicada ao proceso "Xorg"). Case inmediatamente solucionouse o problema en X.Org (o uso da API atómica estaba desactivado por defecto), pero esquecéronse de eliminar a corrección temporal do núcleo e intentaron enviar un ioctl para cambiar atomicamente o modo para todos os procesos que comezasen por o carácter "X" segue a aparecer para devolver un erro. if (current->comm[0] == 'X' && req->value == 1) { pr_info("detectou espazo de usuario do conxunto de modos atómicos roto, desactivando atómico\n"); retorno -EOPNOTSUPP; }

Fonte: opennet.ru

Engadir un comentario