Джейсон Доненфилд (Jason A. Donenfeld), автор на VPN WireGuard, привлече вниманието на разработчиците към наличието на нечист хак в кода на ядрото на Linux, който изменя поведението на процесите, чиито имена започват с символа „X“. На пръв поглед подобни поправки обикновено се прилагат в руткити, за да оставят скрит проход, свързан с процеса, но анализът показа, че промяната е добавена през 2019 г. за временно отстраняване на възникналото нарушение на съвместимостта с потребителското пространство, в съответствие с принципа, че промените в ядрото не трябва да нарушават съвместимостта с приложенията.
Проблемите възникваха при опит за използване на механизма за атомарна смяна на видео режим в използвания в X.Org сървъра DDX драйвер xf86-video-modesetting, което доведе до свързването с процеси, започващи със символа „X“ (имаше подразбиране, че обходният маневър е приложен към процеса „Xorg“). Почти веднага проблемът в X.Org беше отстранен (използването на атомарния API беше деактивирано по подразбиране), но временното решение беше забравено да бъде премахнато от ядрото и опитът за изпращане на ioctl за атомарна смяна на режим за всички процеси, започващи с символа „X“, все още продължава да води до връщане на грешка. if (current->comm[0] == 'X' && req->value == 1) { pr_info("обнаружен счупен атомарен режим потребителското пространство, деактивиране на атомарния\n"); return -EOPNOTSUPP; }
Източник: opennet.ru
