29.06.2022

Уязвимость в CRI-O, позволяющая получить root-доступ к хост-окружению

В CRI-O, runtime для управления изолированными контейнерами, выявлена критическая уязвимость (CVE-2022-0811), позволяющая обойти изоляцию и выполнить свой код на стороне хост-системы. В случае использования CRI-O вместо containerd и Docker для организации запуска контейнеров, работающих под управлением платформы Kubernetes, атакующий может получить контроль над любым узлом в кластере Kubernetes. Для проведения атаки достаточно прав для запуска своего контейнера в кластере Kubernetes.

Уязвимость вызвана возможностью изменения sysctl-параметра ядра «kernel.core_pattern» («/proc/sys/kernel/core_pattern»), доступ к которому не блокировался, несмотря на то, что он не входит в число безопасных для изменения параметров, действующих только в пространстве имён текущего контейнера. При помощи данного параметра пользователь из контейнера может изменить поведение ядра Linux в отношении обработки core-файлов на стороне хост-окружения и организовать запуск произвольной команды с правами root на стороне хоста, указав обработчик типа «|/bin/sh -c ‘команды'».

Проблема проявляется начиная с выпуска CRI-O 1.19.0 и устранена в обновлениях 1.19.6, 1.20.7, 1.21.6, 1.22.3, 1.23.2 и 1.24.0. Из дистрибутивов проблема проявляется в продуктах Red Hat OpenShift Container Platform и openSUSE/SUSE, в репозиториях которых имеется пакет cri-o.

Источник.