Уязвимость в реализации сокетов AF PACKET ядра Linux

4 сентября 2020 года

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

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

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

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

Источники

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

Комментарии

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