15-летние уязвимости в Linux позволяют хакерам заполучить права суперпользователя
С помощью уязвимостей локальные атакующие могут обойти функции безопасности.
Специалисты организации GRIMM обнаружили в подсистеме iSCSI ядра Linux уязвимости, позволяющие локальным атакующим с базовыми привилегиями пользователя могут повысить свои привилегии до суперпользователя. Уязвимости можно проэксплуатировать только локально, то есть, для осуществления кибератаки злоумышленник сначала должен получить доступ к уязвимому устройству путем эксплуатации другой уязвимости или через альтернативный вектор атаки.
Хотя уязвимости были обнаружены только сейчас, они появились в iSCSI еще на ранних стадиях разработки в 2006 году. Проблемы затрагивают все дистрибутивы Linux, но, к счастью, уязвимый модуль ядра scsi_transport_iscsi не загружается по умолчанию. Однако, в зависимости от того, на какой дистрибутив Linux могут быть нацелены злоумышленники, модуль можно загрузить и использовать для повышения привилегий.
Как пояснил исследователь безопасности Адам Николс (Adam Nichols), ядро Linux загружает модули либо из-за обнаружения нового оборудования, либо из-за того, что функция ядра обнаруживает отсутствие модуля. В CentOS 8, RHEL 8 и Fedora непривилегированные пользователи могут автоматически загружать необходимые модули, если установлен пакет rdma-core. В Debian и Ubuntu пакет rdma-core будет автоматически загружать только два необходимых модуля ядра, если доступно аппаратное обеспечение RDMA. Таким образом, на этих системах эксплуатация уязвимости ограничена.
Уязвимости:
-CVE-2021-27365: переполнение буфера (локальное повышение приилегий, раскрытие данных и отказ в обслуживании);
-CVE-2021-27363: утечка указателя ядра (раскрытие данных);
-CVE-2021-27364: чтение за пределами выделенной области памяти (раскрытие данных и отказ в обслуживании).
С их помощью злоумышленники могут обойти такие функции безопасности, как рандомизация макета адресного пространства ядра (KASLR), защита выполнения в режиме супервизора (SMEP), предотвращение доступа в режиме супервизора (SMAP) и изоляция таблиц страниц ядра (KPTI).
Все три уязвимости исправлены в версиях 5.11.4, 5.10.21, 5.4.103, 4.19.179, 4.14.224, 4.9.260 и 4.4.260, а исправления стали доступны в основном ядре Linux 7 марта. Патчи для более неподдерживаемых версий ядер, таких как 3.x и 2.6.23, выпускаться не будут.