The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Уязвимость в runc и LXC, затрагивающая Docker и другие системы контейнерной изоляции

11.02.2019 23:26

В runc, инструментарии для запуска изолированных контейнеров, выявлена критическая уязвимость (CVE-2019-5736), позволяющая из подконтрольного злоумышленнику изолированного контейнера изменить исполняемый файл runc и получить root-привилегии на стороне хост-системы. Уязвимость затрагивает все системы контейнерной изоляции, использующие runtime runc, включая Docker, cri-o, containerd, Kubernetes, Podman и flatpak. Также отмечается, что аналогичная уязвимость присутствует в инструментариях LXC и Apache Mesos.

Суть уязвимости в возможности запуска исполняемого файла runc в окружении контейнера, но его обработки в контексте хост-системы. Например, атакующий может заменить /bin/bash в контейнере на скрипт с заголовком "#!/proc/self/exe" или использовать подставную разделяемую библиотеку. При выполнении "docker exec" и запуске runtime-ом подменённого /bin/bash внутри контейнера будет выполнен файл /proc/self/exe, который на данной стадии ссылается на исполняемый файл runtime (runc) в хост-окружении. После этого атакующий может через модификацию /proc/self/exe внутри контейнера внести изменение в исполняемый файл runc на стороне хост-системы.

Для проведения атаки требуется, чтобы пользователь с правами root (администратор) выполнил операцию создания нового контейнера на основе подготовленного атакующим образа или подключился к существующему контейнеру (достаточно выполнения "docker exec"), к которому ранее атакующий имел доступ на запись. Проблема не блокируется профилем по умолчанию AppArmor и правилами SELinux в Fedora (процессы контейнера запускаются в контексте container_runtime_t, предоставляющем полный доступ к runtime). При этом проблема не проявляется при корректном использованием пространств имён идентификаторов пользователя (user namespaces) или при использовании режима "enforcing" SELinux в RHEL 7.

Уязвимость уже устранена в RHEL, Fedora и Ubuntu, но остаётся неисправленной в Debian и SUSE. Решающие проблему патчи подготовлены для runc и LXC. Рабочий прототип эксплоита планируют опубликовать 18 февраля.

  1. Главная ссылка к новости (https://seclists.org/oss-sec/2...)
  2. OpenNews: Оценка безопасности новой системы контейнерной изоляции Nabla
  3. OpenNews: Linux Foundation представил containerd 1.0, runtime для изолированных контейнеров
  4. OpenNews: Intel представил инструментарий Clear Containers 3.0, переписанный на языке Go
  5. OpenNews: Утверждена единая спецификация для образов и runtime изолированных контейнеров
  6. OpenNews: Доступен Oryx Linux, новый дистрибутив для встраиваемых систем
Лицензия: CC-BY
Тип: Проблемы безопасности
Ключевые слова: runc, container, lxc
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.3, Аноним (3), 00:16, 12/02/2019 [ответить] [показать ветку] [···]     [к модератору]
  • +1 +/
    Давно пора понять, что выполнение чего-либо с правами root в контейнере аналогич... весь текст скрыт [показать]
     
     
  • 2.5, Аноним (5), 00:34, 12/02/2019 [^] [ответить]     [к модератору]  
  • +4 +/
    This attack is only possible with privileged containers since it requires root p... весь текст скрыт [показать]
     
     
  • 3.8, хотел спросить (?), 01:40, 12/02/2019 [^] [ответить]    [к модератору]  
  • –1 +/
    а по умолчанию контейнер какой?
     
     
  • 4.10, виндотролль (ok), 03:03, 12/02/2019 [^] [ответить]    [к модератору]  
  • +1 +/
    Смотря кто запускает. Если запускает рут (или пользователь, который может писать в /usr/bin/runc), то привелегированный, otherwise — в пролете.
     
     
  • 5.21, нах (?), 09:52, 12/02/2019 [^] [ответить]     [к модератору]  
  • +4 +/
    совершенно неважно, кто его запускает, лапочка Потому что на самом деле его зап... весь текст скрыт [показать]
     
     
  • 6.34, хотел спросить (?), 11:58, 12/02/2019 [^] [ответить]     [к модератору]  
  • –3 +/
    gt оверквотинг удален Т е VPS это полноценная изоляция насколько позволяет Sp... весь текст скрыт [показать]
     
     
  • 7.35, нах (?), 12:11, 12/02/2019 [^] [ответить]     [к модератору]  
  • +3 +/
    ну как бы побеги из этой изоляции через дырки в виртуальных или паравиртуальных ... весь текст скрыт [показать]
     
     
  • 8.74, lurkr (ok), 13:17, 13/02/2019 [^] [ответить]    [к модератору]  
  • +1 +/
    распечатаю и повешу на стену
     
  • 7.39, псевдонимус (?), 13:02, 12/02/2019 [^] [ответить]    [к модератору]  
  • –1 +/
    >А Docker и другие контейнеры - это адская отложенная дыра

    да может кроме опенвз

    >Накой черт тогда все вокруг онанируют на эти контейнеры?

    Переносимост По этой же причине не сдохнет и эектрон

     
     
  • 8.48, Аноним (48), 15:31, 12/02/2019 [^] [ответить]    [к модератору]  
  • +1 +/
    > да может кроме опенвз

    Вы где видели официально стабильный Openvz на ядра выше 2.6.32 ?.. вот вот.. труп оно.

     
  • 8.55, нах (?), 17:56, 12/02/2019 [^] [ответить]     [к модератору]  
  • –1 +/
    смешно, но его пилили как раз для управления ресурсами в большей степени, чем дл... весь текст скрыт [показать]
     
     
  • 9.57, псевдонимус (?), 19:35, 12/02/2019 [^] [ответить]     [к модератору]  
  • –1 +/
    я про это собствено и написа ... весь текст скрыт [показать]
     
  • 7.70, RNZ (ok), 09:40, 13/02/2019 [^] [ответить]     [к модератору]  
  • –3 +/
    Потому-что быстрее, памяти жрёт меньше, управление контекстом и нагрузкой предск... весь текст скрыт [показать]
     
     
  • 8.76, псевдонимус (?), 13:51, 13/02/2019 [^] [ответить]    [к модератору]  
  • –1 +/
    >работает одно ядро на всё - хост и контейнеры.

    Еси ты про процессорное ядро то ты не прав

     
     
  • 9.87, RNZ (ok), 22:51, 13/02/2019 [^] [ответить]     [к модератору]  
  • +2 +/
    Ещё про пушечное ядро скажи Про kernel речь - https en wikipedia org wiki Ker... весь текст скрыт [показать]
     
     
  • 10.88, псевдонимус (?), 22:59, 13/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Тогда верно И это похо
     
  • 6.38, Owlet (?), 12:49, 12/02/2019 [^] [ответить]     [к модератору]  
  • +/
    И как тогда podman без рута работает по-твоему ... весь текст скрыт [показать]
     
  • 6.61, виндотролль (ok), 21:16, 12/02/2019 [^] [ответить]     [к модератору]  
  • –1 +/
    100 Т е докер не запускает pid1 контейнера в неймспейсе с маппингом uid 0 ... весь текст скрыт [показать]
     
     
  • 7.71, нах (?), 11:02, 13/02/2019 [^] [ответить]     [к модератору]  
  • +1 +/
    докер - программа, работающая от рута, причем с максимально широкими правами - в... весь текст скрыт [показать]
     
     
  • 8.81, виндотролль (ok), 18:52, 13/02/2019 [^] [ответить]     [к модератору]  
  • +/
    да ладно Даже если в ответ демон делает fork и setuid Даже традиционной си... весь текст скрыт [показать]
     
     
  • 9.92, Аноним (92), 23:59, 14/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Наверное именно потому везде пихают аппармор и селинукс.
     
     
  • 10.93, виндотролль (ok), 00:51, 15/02/2019 [^] [ответить]     [к модератору]  
  • +/
    Вот поэтому и ставят Никогда не знаешь, где найдут очередную уязвимость Удален... весь текст скрыт [показать]
     
  • 6.62, виндотролль (ok), 21:29, 12/02/2019 [^] [ответить]     [к модератору]  
  • +/
    https docs docker com engine security userns-remap вот жеж Немного не так, к... весь текст скрыт [показать]
     
     
  • 7.66, псевдонимус (?), 23:03, 12/02/2019 [^] [ответить]     [к модератору]  
  • +/
    Это и ест дыра Незя дават крутится под кем хоче Рут в контейнере не дожен прев... весь текст скрыт [показать]
     
     
  • 8.72, нах (?), 11:05, 13/02/2019 [^] [ответить]     [к модератору]  
  • +1 +/
    контейнер для этого неособенно и нужен - достаточно дать права левому юзеру на д... весь текст скрыт [показать]
     
     
  • 9.75, псевдонимус (?), 13:31, 13/02/2019 [^] [ответить]     [к модератору]  
  • +/
    Вот и именно Настоящий хостовый рут дожен быт доступен токо админу хоста В ... весь текст скрыт [показать]
     
     
  • 10.82, виндотролль (ok), 18:54, 13/02/2019 [^] [ответить]     [к модератору]  
  • +/
    вот это вы упрямые Рут в контейнере не обязательно равне руту в хосте И если э... весь текст скрыт [показать]
     
  • 3.15, Аноним (3), 07:50, 12/02/2019 [^] [ответить]     [к модератору]  
  • +1 +/
    Читайте про user namespace я упомянул Безопасность при user namespace не лучше ... весь текст скрыт [показать]
     
     
  • 4.22, нах (?), 09:56, 12/02/2019 [^] [ответить]     [к модератору]  
  • +/
    все таки лучше - в частности, вот от этой конкретной беды уберегло бы то что ре... весь текст скрыт [показать]
     
  • 4.23, Аноним (23), 09:58, 12/02/2019 [^] [ответить]    [к модератору]  
  • +/
    "При этом проблема не проявляется при корректном использованием пространств имён идентификаторов пользователя (user namespaces)"
     
     
  • 5.37, Аноним (37), 12:48, 12/02/2019 [^] [ответить]    [к модератору]  
  • +2 +/
    Которые в докере, например, не заюзать нормально из-за кучи ограничений (например, невозможность использования volume-ов)
     
     
  • 6.54, нах (?), 17:52, 12/02/2019 [^] [ответить]     [к модератору]  
  • –3 +/
    а как же volumes - прошлый век, тру девляпс использует ансибль, всегда модифици... весь текст скрыт [показать]
     
  • 6.63, виндотролль (ok), 21:31, 12/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Можно пример, когда это надо?
     
     ....нить скрыта, показать (32)

  • 1.4, erthink (ok), 00:25, 12/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    Красиво!
     
  • 1.6, 4eburashk (?), 00:42, 12/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    Ай молодца! Сколько всего сразу повалилось.
    Вот это понимаю unix-way. Еще бы хромы и системд туда же.
     
     
  • 2.7, Аноним (7), 01:12, 12/02/2019 [^] [ответить]    [к модератору]  
  • +11 +/
    After some discussion with the systemd-nspawn folks, it appears that
    they aren't vulnerable (because their method of attaching to a container
    uses a different method to LXC and runc).

    Наконец-то особый путь Лёни оказался полезен.

     
     
  • 3.11, Gannet (ok), 03:20, 12/02/2019 [^] [ответить]    [к модератору]  
  • +2 +/
    Wow, первый положительный коммент относительно systemd. Сам пользую systemd-контейнеры. Пока не жалею. Щас набежит толпа хейтеров...
     
     
  • 4.13, Аноним (13), 07:21, 12/02/2019 [^] [ответить]    [к модератору]  
  • –2 +/
    > Щас набежит толпа хейтеров...

    Но ведь nspawn - это гораздо удобнее того же LXC.

     
     
  • 5.14, GentooBoy (ok), 07:40, 12/02/2019 [^] [ответить]    [к модератору]  
  • –3 +/
    А микроскоп лучше молотка, ну кто бы спорил. Выключите свет они на свет лезут.
     
  • 2.9, Аноним (9), 02:20, 12/02/2019 [^] [ответить]    [к модератору]  
  • +/
    > Еще бы хромы и системд туда же

    из системд к сожалению никто не хочет код копипастить к себе в инит.

     
  • 2.12, Аноним (12), 03:39, 12/02/2019 [^] [ответить]    [к модератору]  
  • –4 +/
    Что у вас повалилось? Какой вменяемый сидит под рутом
     
     
  • 3.16, Онаним (?), 09:29, 12/02/2019 [^] [ответить]    [к модератору]  
  • +1 +/
    Каждый второй хипста с докерком, угу.
     
     
  • 4.19, нах (?), 09:43, 12/02/2019 [^] [ответить]    [к модератору]  
  • +3 +/
    каждый первый, поскольку далеко не все можно запустить с -u, и даже то что в принципе можно - не оправдывает траходрома
     
  • 1.17, Онаним (?), 09:31, 12/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +4 +/
    Вообще контейнеры - это адовый костыль. Был таковым, есть, и будет есть.
     
     
  • 2.28, Аноним (28), 11:35, 12/02/2019 [^] [ответить]     [к модератору]  
  • +2 +/
    Это не костыль Это попытка забивать гвозди микроскопом, а точнее использовать м... весь текст скрыт [показать]
     
     
  • 3.33, нах (?), 11:54, 12/02/2019 [^] [ответить]     [к модератору]  
  • +5 +/
    разделение ресурсов для доверенных приложений неплохо обеспечивает операционная ... весь текст скрыт [показать]
     
     
  • 4.43, Клыкастый (ok), 14:06, 12/02/2019 [^] [ответить]     [к модератору]  
  • +/
    Хорошо изложил ... весь текст скрыт [показать]
     
  • 3.40, псевдонимус (?), 13:15, 12/02/2019 [^] [ответить]    [к модератору]  
  • –2 +/
    Вооот Их создаваи дя руёжки ресурсами а не дя безопасности в отичие от тех же бсдовых кеток
     
  • 1.20, via (??), 09:45, 12/02/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    На Убунте lxc запрягают через lxd, и, типа, пофик на эту дыру. Не? У меня runc в 18.04 вообще не установлен.
     
     
  • 2.25, нах (?), 10:04, 12/02/2019 [^] [ответить]     [к модератору]  
  • –1 +/
    тебе - пофиг, никому твоя васян-локалхостовая поделка не нужна А дыра в lxc точн... весь текст скрыт [показать]
     
     
  • 3.26, via (??), 11:18, 12/02/2019 [^] [ответить]    [к модератору]  
  • +/
    дыра то в runc?
     
     
  • 4.29, нах (?), 11:43, 12/02/2019 [^] [ответить]    [к модератору]  
  • +/
    нет, в liblxc точно такая же.
     
     
  • 5.41, via (??), 13:16, 12/02/2019 [^] [ответить]    [к модератору]  
  • +/
    https://people.canonical.com/~ubuntu-security/cve/2019/CVE-2019-5736.html

    Задевает пакеты docker.io и runc.  
    lxd апдейтов не требует.

     
     
  • 6.53, нах (?), 17:50, 12/02/2019 [^] [ответить]     [к модератору]  
  • –1 +/
    ну конечно, кто ж у нас эксперты чье мнение по всем вопросам самое главное - пип... весь текст скрыт [показать]
     
  • 3.27, Аноним (28), 11:28, 12/02/2019 [^] [ответить]     [к модератору]  
  • +/
    Но ведь они абсолютно правы Контейнеры - это способ разделения ресурсов а не сп... весь текст скрыт [показать]
     
     
  • 4.30, нах (?), 11:48, 12/02/2019 [^] [ответить]     [к модератору]  
  • +/
    s for security, да Правда, как раз lxc-то принципиально позиционировалась как l... весь текст скрыт [показать]
     
     
  • 5.42, Аноним (-), 13:58, 12/02/2019 [^] [ответить]     [к модератору]  
  • +/
    И почему тогда бсдами уже никто не пользуется, если они настолько лучше и продум... весь текст скрыт [показать]
     
     
  • 6.44, Клыкастый (ok), 14:07, 12/02/2019 [^] [ответить]    [к модератору]  
  • –2 +/
    Ровно по той же причине, по которой линукса нет на десктопах.
     
     
  • 7.45, Аноним (-), 14:26, 12/02/2019 [^] [ответить]     [к модератору]  
  • +/
    Это учитывая, что классический десктоп стремительно вымирает, а на планшетах, хр... весь текст скрыт [показать]
     
     
  • 8.46, Клыкастый (ok), 15:02, 12/02/2019 [^] [ответить]     [к модератору]  
  • –1 +/
    Был вопрос и я ответил К чему эти пространные оправдания с переводом темы и стр... весь текст скрыт [показать]
     
  • 8.69, псевдонимус (?), 07:13, 13/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Панеты и хромыебуки не взетеи(продавеное в американские коы не в счёт)
     
     
  • 9.80, анонн (?), 18:39, 13/02/2019 [^] [ответить]     [к модератору]  
  • +/
    Авторитетное мнение не имеюего даже заваявсейся вненей кавы ии магазина по бизос... весь текст скрыт [показать]
     
  • 6.47, нах (?), 15:29, 12/02/2019 [^] [ответить]     [к модератору]  
  • +1 +/
    дык вон там выше изложение, для чего на самом деле нужны нынче контейнеры Этого... весь текст скрыт [показать]
     
     
  • 7.67, Gannet (ok), 04:14, 13/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Вот ты срёшь на убунточку, а сам кагбе мимоходом умолчал что сам пользуешь. Давай и мы посрём на твой дистр, чё, слабо, умник?
     
     
  • 8.73, нах (?), 11:16, 13/02/2019 [^] [ответить]     [к модератору]  
  • +/
    как прибили, так и держится В смысле - чего клиент требует, из того куличик и... весь текст скрыт [показать]
     
     
  • 9.90, Gannet (ok), 22:42, 14/02/2019 [^] [ответить]    [к модератору]  
  • +/
    > это ты на б-жественную десяточку намекаешь? Не советую, instant karma может настичь:
    > http://bash.org/?163301

    У кого что болит. Сочувствую тебе.

     
  • 9.91, Gannet (ok), 22:44, 14/02/2019 [^] [ответить]     [к модератору]  
  • +/
    Потом сознания ... весь текст скрыт [показать]
     
  • 8.78, псевдонимус (?), 14:20, 13/02/2019 [^] [ответить]    [к модератору]  
  • +/
    Я фряху испозую на роутере-файопомойке Нагад на неё Токо без "аргументов" вроде утф8 в консои В ней ест что пнут
     
  • 5.51, SysA (?), 17:17, 12/02/2019 [^] [ответить]    [к модератору]  
  • –3 +/
    Вообще-то контейнеры никогда не позиционировались как ВМы!
    Только админам локалхоста не видна разница.
     
     
  • 6.52, анонн (?), 17:41, 12/02/2019 [^] [ответить]     [к модератору]  
  • +3 +/
    Угу, а системда никогда не позиционировалась как быстрый инит , помним-помним ... весь текст скрыт [показать]
     
     
  • 7.77, SysA (?), 13:52, 13/02/2019 [^] [ответить]     [к модератору]  
  • +/
    Для тех, кто в танке Здесь имеется ввиду ФУНКЦИОНАЛЬНОСТЬ, а не защита ... весь текст скрыт [показать]
     
     
  • 8.79, анонн (?), 18:28, 13/02/2019 [^] [ответить]     [к модератору]  
  • +/
    Для тех, кто мерзнет вне танка это современная формулировка А что там с так ... весь текст скрыт [показать]
     
  • 7.68, Gannet (ok), 04:16, 13/02/2019 [^] [ответить]    [к модератору]  
  • –1 +/
    >> Вообще-то контейнеры никогда не позиционировались как ВМы!
    > Именно так и позиционироваис И старые п-уны да админы окахостов пытаис донести
    > мыс что это не совсем так Но кто учитыва мнение этих
    > дурачков?

    У тебя пальцы перебиты что-ли?

     
  • 3.64, Аноним84701 (ok), 22:35, 12/02/2019 [^] [ответить]    [к модератору]  
  • +2 +/
    #60 > Именно так и позиционироваис И старые п-уны да админы окахостов пытаис донести мыс что это не совсем так Но кто учитыва мнение этих дурачков?
    > Не Сама реаизация инукс-контейнеров и всего производного от них уязвима Даже системдаун-контейнеры(которые тот же lхц)

    Похоже, оно еще и портит буквы 'л' и 'ъ', как и знаки препинания o_O …


     
     
  • 4.65, псевдонимус (?), 22:47, 12/02/2019 [^] [ответить]    [к модератору]  
  • –2 +/
    Просто я заи каву томатным соком Про постоянные дырки в lинукс-контейнерах будет что-нибуд? Норманые опенвз у вас быи тут говорят что они похие и вообще рип Но где же норманые?
     
     ....нить скрыта, показать (26)

  • 1.36, Аноним (36), 12:38, 12/02/2019 [ответить] [показать ветку] [···]     [к модератору]  
  • –1 +/
    Я вообще с контейнерами познакомился, когда надо было чью-то кривую поделку на n... весь текст скрыт [показать]
     
     
  • 2.89, leonid (??), 01:23, 14/02/2019 [^] [ответить]    [к модератору]  
  • +/
    > чью-то кривую поделку на nodejs, с кучей варнингов при компиляции, собиравшуюся только gcc 4.9 на Ubuntu с определенной версией boost перетащить на другую машину

    аминь, брат

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2019 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor