Критическая уязвимость в ядре Linux, уже эксплуатируемая злоумышленниками
В ядре Linux выявлена опасная уязвимость CVE-2016–5195, которой присвоено кодовое имя «Dirty COW», позволяющая непривилегированному локальному пользователю повысить свои привилегии в системе. Проблема отмечена некоторыми экспертами как одна из наиболее опасных уязвимостей в ядре, чему способствует наличие надёжно рабочего прототипа эксплоита, простота проведения атаки (экплоит не зависит от особенностей окружения) и сведения о длительном использовании данной уязвимости злоумышленниками до исправления проблемы (проблема была выявлена на основе изучения перехваченного эксплоита). Уязвимость присутствует с 2007 года и проявляется в ядрах Linux, начиная с выпуска 2.6.22.
Уязвимость вызвана состоянием гонки при обработке copy-on-write (COW) операций в подсистеме управления памятью и позволяет нарушить работу маппинга памяти в режиме только для чтения. С практической стороны, проблема позволяет осуществить запись в области памяти, отражённые в режиме только для чтения. Например, в прототипе эксплоита показано как использовать данную проблему для изменения содержимого файла, принадлежащего пользователю root и доступного только на чтение. В том числе, при помощи предложенного метода атаки непривилегированный злоумышленник может изменить исполняемые системные файлы, обойдя штатные механизмы управления доступом.
$ sudo -s # echo this is not a test > foo # chmod 0404 foo $ ls -lah foo -r-----r-- 1 root root 19 Oct 20 15:23 foo $ cat foo this is not a test $ gcc -lpthread dirtyc0w.c -o dirtyc0w $ ./dirtyc0w foo m00000000000000000 mmap 56123000 madvise 0 procselfmem 1800000000 $ cat foo m00000000000000000
Уязвимость устранена в выпусках ядра Linux 4.8.3, 4.7.9 и 4.4.26. Обновления пакетов с ядром уже сформированы для дистрибутивов Debian, Ubuntu, Mageia, SUSE, Fedora. Для openSUSE, CentOS и RHEL исправления пока не выпущены (в RHEL/CentOS 5 и 6 представленный эксплоит не работает из-за закрытия /proc/self/mem на запись, но в RHEL/CentOS 7 такого ограничения нет). Для временного блокирования уязвимости в RHEL/CentOS 7 подготовлен сценарий SystemTap.
© OpenNet