Александр Попов, эксперт по безопасности компании Positive Technologies, выявил и исправил пять похожих уязвимостей в виртуальных сокетах ядра Linux.
Эти уязвимости могут быть использованы для локального повышения привилегий: Александр подтвердил возможность атаки на Fedora 33 Server. Уязвимости получили общий идентификатор CVE-2021-26708 и оценку 7,0 по шкале CVSS v3, что соответствует высокому уровню опасности.
К проблеме безопасности ядра привели ошибки типа «состояние гонки», которые были неявно внесены при добавлении поддержки нескольких транспортов для виртуальных сокетов. Эта функциональность появилась в ядре Linux версии 5.5 в ноябре 2019 года. Уязвимые драйверы (CONFIG_VSOCKETS и CONFIG_VIRTIO_VSOCKETS) поставляются как ядерные модули основными дистрибутивами GNU/Linux. Данные модули автоматически загружаются системой при создании сокета AF_VSOCK, и это действие доступно непривилегированному пользователю.
«Мне удалось разработать прототип эксплойта, который выполняет локальное повышение привилегий на Fedora 33 Server и обходит защитные механизмы SMEP и SMAP платформы x86_64. Это исследование в дальнейшем позволит усовершенствовать средства защиты ядра Linux», — уточнил Александр Попов.
Александр подготовил исправления и выполнил ответственное разглашение уязвимостей. Патч уже принят в ванильное ядро Linux v5.11-rc7, а также применен в стабильных ветках, которые были подвержены CVE-2021-26708.
Обнаружить новую уязвимость в инфраструктуре можно с помощью системы управления уязвимостями MaxPatrol VM.
Ранее Александр Попов выявил и исправил в ядре Linux уязвимости CVE-2019-18683 и CVE-2017-2636.