Несколько уязвимостей в Linux, позволяющих повысить свои привилегии

23 июля 2015 года

В приложении userhelper и библиотеке libuser, поставляемым по умолчанию в дистрибутивах, основанных на пакетной базе Red Hat, выявлена серия уязвимостей (CVE-2015-3245, CVE-2015-3246), позволяющих выполнить код с привилегиями пользователя root. Для демонстрации проблемы приводится рабочий эксплоит, применяемый к приложениям, использующим libuser для манипуляций с учётными записями пользователей.

Первая уязвимость присутствует в программе userhelper. Программа предназначена для смены информации о пользователе и примечательна тем, что поставляется с установленным флагом setuid-root. Уязвимость вызвана тем, что при разборе передаваемых опций не осуществляется проверка на наличие символа перевода строки ('\\\\n'), что позволяет атакующим передать данные, добавление которых в файл /etc/passwd приведёт к появлению новой строки. Так как указание символа ":" запрещено, имеется возможность добавить только неотформатированные строковые данные, что может быть использовано для осуществления DoS-атаки.

Вторая уязвимость присутствует в библиотеке libuser и вызвана особенностью работы с файлом /etc/passwd. В отличие от классических утилит passwd, chfn и chsh которые вначале создают временный файл с копией /etc/passwd, модифицируют его и заменяют основной файл, в libuser применяется прямая модификация /etc/passwd. Если в ходе манипуляций с /etc/passwd произойдёт ошибка, файл может остаться в некорректном виде. Путём определённых манипуляций, в сочетании с первой уязвимостью, можно добиться очистки записи для пользователя root ("\\\\na::0:0::/:\\\\n") или осуществить подмену поля с shell и домашней директорией, что даёт возможность организовать выполнение кода с правами root.

Дополнительно можно упомянуть выявление уязвимости (CVE-2015-3290) в коде работы с NMI в ядре Linux, позволяющей инициировать крах ядра или выполнить код с правами root. Сообщается, что для уязвимости уже имеется готовый эксплоит, который будет опубликован только через одну-две недели, чтобы дать пользователям время обновить свои системы. Проблема проявляется на системах с архитектурой x86_64 при использовании ядра Linux 3.13 и более новых версий.

Дополнение: эксплойт для CVE-2015-3290 опубликован 4-го августа.

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Несколько уязвимостей в Linux, позволяющих повысить свои привилегии», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.