Уязвимости в rkt позволяют обойти контейнер и получить на хосте права суперпользователя
04/06/19
Исследователь безопасности Ювал Аврахами (Yuval Avrahami) обнаружил в исполняемой среде контейнеров (container runtime) rkt уязвимости, позволяющие обойти контейнер и получить на хосте права суперпользователя. Проблемам присвоены идентификаторы CVE-2019-10144, CVE-2019-10145 и CVE-2019-10147.
Злоумышленник может проэксплуатировать уязвимости с целью скомпрометировать хост, когда пользователь вводит команду ‘rkt enter’ (эквивалентна команде ‘docker exec’) через подконтрольный ему модуль. Как пояснил исследователь, основным элементом выполнения rkt является модуль с несколькими контейнерами, работающими в общем контексте.
Команда ‘rkt enter’ позволяет выполнять двоичный код в запущенном контейнере. Двоичный код запускается с привилегиями суперпользователя, но при этом механизмы безопасности seccomp и cgroup не применяются, что и дает атакующему возможность обойти контейнер.
Для эксплуатации уязвимостей у злоумышленника должен быть доступ к контейнерам с привилегиями суперпользователя. Поэтому, когда пользователь запускает команду ‘rkt enter’, атакующий может переписать двоичный код и библиотеки (/bin/bash и libc.so.6) внутри контейнера с целью запуска вредоносного кода.
Исследователь в частном порядке сообщил производителю о проблемах. Тем не менее, ему ответили, что никаких сроков для исправления уязвимости установлено не было.