09.03.2021

Уязвимости в ядре Linux, затрагивающие реализации VSOCK, Futex и io_uring

В ядре Linux выявлено три уязвимости, которые потенциально позволяют локальному пользователю поднять свои привилегии в системе:

Уязвимость (CVE-2021-26708) в реализации сокетов с адресацией AF_VSOCK, предназначенных для сетевого взаимодействия приложений гостевых систем и хостов. Проблема вызвана состоянием гонки при установке блокировок для обработки нескольких видов транспорта (VSOCK multi-transport). Выявивший уязвимость исследователь утверждает о создании рабочего эксплоита, позволяющего получить права root в Fedora Server 33, обойдя механизмы защиты SMEP (Supervisor Mode Execution Prevention) и SMAP (Supervisor Mode Access Prevention). Код эксплоита будет опубликован после повсеместного распространения обновлений.

Уязвимость проявляется начиная с выпуска v5.5-rc1 и устранена в обновлении 5.10.13. В RHEL проблема проявляется только начиная с выпуска 8.3 (ядро 4.18.0-240), в котором появилась поддержка VSOCK. Стабильные ветки Debian и SUSE проблеме не подвержены. В Ubuntu статус уязвимости пока не определён.

Уязвимость (CVE-2021-3347), потенциально позволяющая выполнить код на уровне ядра через манипуляции с futex. Проблема вызвана обращением к уже освобождённой области памяти (use-after-free) в процессе обработки исключения. Информации о наличии эксплоита пока нет, но о возможности эксплуатации подобного класса проблем может свидетельствовать появившийся в прошлом месяце эксплоит для связанной с futex старой уязвимости CVE-2014-3153, которая была найдена в 2014 году.

Проблема проявляется с 2008 года и потенциально затрагивает все дистрибутивы. Уязвимость уже исправлена в SUSE, Fedora и частично в Debian. В Ubuntu и RHEL проблема пока не устранена.

Уязвимость (CVE-2021-20226) в интерфейсе асинхронного ввода/вывода io_uring, вызванная обращением к уже освобождённому блоку памяти (use-after-free) при обработке файловых дескрипторов из-за неверной проверки существования объекта перед выполнением операции IORING_OP_CLOSE. По мнению Red Hat уязвимость ограничивается отказом в обслуживании или утечкой данных из памяти ядра, но по данным Zero Day Initiative уязвимость позволяет локальному пользователю выполнить код на уровне ядра.

Уязвимость проявляется начиная с ядра 5.5 и устранена в ядре 5.10.2 (по другим данным патч с устранением уязвимости был включён в состав ядра 5.9-rc1). Проблема уже устранена в Fedora. В RHEL и стабильных ветках Debian проблема не проявляется. В Ubuntu статус уязвимости пока не определён.

А на этом сегодня все. Надеюсь данная статья будет вам полезна.
Журнал Cyber-X

Источник.