Уязвимость iSCSI ядра Linux позволяет повысить привилегии

Недавно важная информация о идентификация уязвимость (указан как CVE-2021-27365) в коде подсистемы iSCSI Ядро Linux, которое позволяет непривилегированному локальному пользователю запускать код на уровне ядра и получать привилегии root в системе.

Проблема вызвана ошибкой в ​​функции модуля libiscsi iscsi_host_get_param (), введенной еще в 2006 году при разработке подсистемы iSCSI. Из-за отсутствия надлежащих элементов управления размером некоторые строковые атрибуты iSCSI, такие как имя хоста или имя пользователя, могут превышать значение PAGE_SIZE (4 КБ).

Уязвимость может быть использована путем отправки сообщений Netlink. непривилегированным пользователем, который устанавливает для атрибутов iSCSI значения больше PAGE_SIZE. При чтении данных атрибутов через sysfs или seqfs вызывается код для передачи атрибутов в sprintf, чтобы они были скопированы в буфер размером PAGE_SIZE.

Конкретной рассматриваемой подсистемой является транспорт данных SCSI (интерфейс малых компьютерных систем), который является стандартом для передачи данных, предназначенных для подключения компьютеров к периферийным устройствам, первоначально через физический кабель, например жесткие диски. SCSI - это почтенный стандарт, первоначально опубликованный в 1986 году, и был золотым стандартом для конфигураций серверов, а iSCSI - это, по сути, SCSI поверх TCP. SCSI все еще используется сегодня, особенно в определенных ситуациях хранения, но как это становится поверхностью атаки в системе Linux по умолчанию?

Использование уязвимости в раздачах зависит от поддержки автозагрузки модуля ядра scsi_transport_iscsi при попытке создать сокет NETLINK_ISCSI.

В дистрибутивах, где этот модуль загружается автоматически, атака может быть проведена независимо от использования функций iSCSI. При этом для успешного использования эксплойта дополнительно требуется регистрация хотя бы одного транспорта iSCSI. В свою очередь, чтобы зарегистрировать транспорт, вы можете использовать модуль ядра ib_iser, который загружается автоматически, когда непривилегированный пользователь пытается создать сокет NETLINK_RDMA.

Автоматическая загрузка модулей, необходимых для использования эксплойта поддерживает CentOS 8, RHEL 8 и Fedora путем установки пакета rdma-core в системе, который является зависимостью для некоторых популярных пакетов и устанавливается по умолчанию в конфигурациях для рабочих станций, серверных систем с графическим интерфейсом пользователя и виртуализации сред хоста.

При этом rdma-core не устанавливается при использовании сборки сервера, работающей только в режиме консоли, и при установке минимального установочного образа. Например, пакет включен в базовый дистрибутив Fedora 31 Workstation, но не включен в Fedora 31 Server.

Debian и Ubuntu менее подвержены этой проблемепоскольку пакет rdma-core загружает только модули ядра, необходимые для атаки, если доступно оборудование RDMA. Однако серверный пакет Ubuntu включает пакет open-iscsi, который включает файл /lib/modules-load.d/open-iscsi.conf, чтобы гарантировать автоматическую загрузку модулей iSCSI при каждой загрузке.

Рабочий прототип эксплойта доступен для попробуйте по ссылке ниже.

Уязвимость исправлена ​​в обновлениях ядра Linux 5.11.4, 5.10.21, 5.4.103, 4.19.179, 4.14.224, 4.9.260 и 4.4.260. Обновления пакетов ядра доступны в дистрибутивах Debian (oldstable), Ubuntu, SUSE / openSUSE, Arch Linux и Fedora, а для RHEL пока не выпущено никаких исправлений.

Также в подсистеме iSCSI исправлены две менее опасные уязвимости которые могут привести к утечке данных ядра: CVE-2021-27363 (утечка информации о транспортном дескрипторе iSCSI через sysfs) и CVE-2021-27364 (чтение из области за пределами буфера).

Эти уязвимости могут использоваться для связи через сокет сетевого соединения с подсистемой iSCSI без необходимых привилегий. Например, непривилегированный пользователь может подключиться к iSCSI и отправить команду выхода.

источник: https://blog.grimm-co.com


Будьте первым, чтобы комментировать

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.