Ailagbara ninu imuse iho iho AF_PACKET ti ekuro Linux

Спустя три года с момента волны уязвимостей (1, 2, 3, 4, 5) в подсистеме AF_PACKET ядра Linux mọ ещё одна проблема (CVE-2020-14386), позволяющая локальному непривилегированному пользователю выполнить код с правами root или выйти из изолированных контейнеров, при наличии в них root-доступа.

Для создания сокета AF_PACKET и эксплуатации уязвимости требуется наличие полномочий CAP_NET_RAW. Тем не менее, указанное полномочие может быть получено непривилегированным пользователем в контейнерах, создаваемых в системах с включённой поддержкой пространств имён идентификаторов пользователей (user namespaces). Например, user namespaces по умолчанию включён в Ubuntu и Fedora, но не активирован в Debian и RHEL. В Android право создавать сокеты AF_PACKET имеет процесс mediaserver, через который может быть эксплуатирована уязвимость.

Уязвимость присутствует в функции tpacket_rcv и вызвана ошибкой вычисления переменной netoff. Атакующий может создать условия, при которых в переменную netoff будет записано значение меньше переменной maclen, что вызовет переполнение при вычислении «macoff = netoff — maclen» и неверной последующей установке указателя на буфер для поступающих данных. В итоге, атакующим может быть инициирована запись от 1 до 10 байт в область за границей выделенного буфера. Отмечается, что в разработке находится эксплотит, позволяющий получить root-права в системе.

Проблема присутствует в ядре с июля 2008 года, т.е. проявляется во всех актуальных ядрах. Исправление пока доступно в виде alemo. Отследить появление обновлений пакетов в дистрибутивах можно на следующих страницах: Ubuntu, Fedora, suse, Debian, RHEL, to dara.

orisun: opennet.ru

Fi ọrọìwòye kun