Локальная root-уязвимость в реализации сокетов AF_PACKET в ядре Linux
Уязвимость проявляется в ядрах до 4.10.6 при включении сокетов AF_PACKET с поддержкой кольцевых буферов TPACKET_V3 ( "CONFIG_PACKET=y", в большинстве дистрибутивов включены по умолчанию). Проблема была выявлена в результате fuzzing-тестирования системных вызовов ядра Linux. Опубликован прототип эксплоита, работоспособного в Ubuntu 16.04.2 с ядром 4.8.0-41-generic с включенными механизмами защиты KASLR, SMEP и SMAP.
Уязвимость вызвана целочисленным переполнением в функции packet_set_ring() для сокетов AF_PACKET. Примечательно, что это вторая уязвимость в packet_set_ring() за последнее время, похожая проблема (CVE-2016-8655) была выявлена в конце прошлого года. Для атаки злоумышленник должен иметь полномочия CAP_NET_RAW, которые необходимы для создания сокетов AF_PACKET. В Ubuntu и Fedora данные полномочия можно получить через использование пространств имён идентификаторов пользователей (user namespace), которые включены по умолчанию.
В Ubuntu и Fedora проблема была устранена в апрельском обновлении пакетов с ядром. Для SUSE 12 и openSUSE исправление было выпущено несколько дней назад. Red Hat Enterprise Linux 5/6 и SUSE 11, проблеме не подвержены, а в RHEL 7 и Debian для эксплуатации требуется явное предоставление полномочий CAP_NET_RAW. В Android право создавать сокеты AF_PACKET имеет процесс mediaserver, через который может быть эксплуатирована уязвимость.
Источник: http://www.opennet.ru/opennews/art.shtml?num=46526
|
0 | Tweet | Нравится |
|