The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено opennews, 29-Май-19 13:22 
В инструментарии для управления изолированными Linux-контейнерами Docker выявлена (https://www.openwall.com/lists/oss-security/2019/05/28/1) уязвимость (CVE-2018-15664 (https://security-tracker.debian.org/tracker/CVE-2018-15664)), которая при определённом стечении обстоятельств позволяет получить доступ к хост-окружению из контейнера при наличии возможности запуска своих образов в системе или при доступе к выполняемому контейнеру. Проблема проявляется во всех версиях Docker и остаётся неисправленной (предложен, но пока не принят, патч (https://github.com/moby/moby/pull/39252), реализующий приостановку работы контейнера на время выполнения операций с ФС).

Уязвимость позволяет извлечь файлы из контейнера в произвольную часть ФС хост-системы  при выполнении команды "docker cp". Извлечение файлов выполняется с правами root, что даёт возможность прочитать или записать любые файлы в хост-окружении, чего достаточно для получения контроля за хост-системой (например, можно переписать /etc/shadow). Атака может быть совершена только в момент выполнения администратором команды "docker cp" для копирования файлов в контейнер или из него. Таким образом атакующему необходимо каким-то образом убедить администратора Docker в необходимости выполнения этой операции и предугадать используемый при копировании путь.

Проблема вызвана ошибкой в функции FollowSymlinkInScope (https://github.com/moby/moby/blob/master/pkg/symlink/fs.go#L... вычисляющей абсолютный путь в основной ФС на основании относительного пути, учитывающего размещение контейнера. В процессе выполнения команды "docker cp" возникает кратковременное состояние гонки (https://ru.wikipedia.org/wiki/%D0%A1%D0%... при котором путь уже проверен, но операция ещё не выполнена. Так как копирование производится в контексте основной ФС хост-системы в указанный промежуток времени можно успеть подменить ссылку на другой путь и инициировать копирование данных в произвольное место файловой системы вне контейнера.


Так как временное окно проявления состояния гонки сильно ограничено  в подготовленном прототипе эксплоита (https://www.openwall.com/lists/oss-security/2019/05/28/1/1) при выполнении операций копирования из контейнера удалось добиться проведения успешной атаки в менее 1% случаев при цикличной подмене символической ссылки в пути, используемом в операции копирования (успешная атака была совершена после примерно 10 секунд попыток непрерывно в цикле скопировать файл командой "docker cp").


При выполнении операции копирования в контейнер можно добиться повторяемой атаки по перезаписи файла в хост-системе, для проведения которой достаточно всего нескольких итераций. Возможность атаки связана с тем, что при копировании в контейнер применяется концепция "chrootarchive", в соответствии с которой процесс archive.go извлекает архив не в chroot корня контейнера, а в chroot родительского каталога целевого пути, подконтрольного атакующему (chroot используется как признак для эксплуатации состояния гонки). С практической стороны атака может быть совершена, например, при предоставлении облачными сервисами средств для копирования файлов конфигурации в контейнер, построенных с использованием команды docker cp".


URL: https://www.openwall.com/lists/oss-security/2019/05/28/1
Новость: https://www.opennet.ru/opennews/art.shtml?num=50765

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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