Ведущий разработчик Linux-дистрибутива SUSE Алекса Сараи (Aleksa Sarai) сообщил об уязвимости в упаковщике Docker, которая позволяет атакующему выйти за пределы контейнера и выполнять операции с файлами на целевом хосте. Эксплойт требует доступа к контейнеру во время копирования данных администратором системы, что значительно снижает вероятность успешного нападения. По информации специалиста, создатели программы не определились с датой выпуска заплатки, решающей проблему.

Как выяснил Сараи, недостаток связан с ошибкой состояния гонки при формировании пути к файлу функцией FollowSymlinkInScope. В случае применения API docker cp между проверкой корректности ссылки и ее использованием существует небольшой промежуток времени, когда данные могут быть модифицированы. В результате злоумышленник может получить несанкционированный root-доступ к данным, даже если они находятся за пределами контейнера.

Специалист разработал PoC, который изменяет путь к используемым объектам при помощи символической ссылки. Как пояснил эксперт, эксплойт может позволить нападающему скопировать системные файлы с устройства в контейнер или, наоборот, доставить на целевую машину полезную нагрузку. Вероятность удачного выполнения операции составляет менее 1%, однако непрерывные попытки взлома в течение примерно 10 секунд дают скрипту возможность в итоге получить одобрение вредоносного действия.

Уязвимость зарегистрирована как CVE-2018-15664, а информация о ней уже отправлена разработчикам Docker. Тем не менее, пока что создатели упаковщика не сообщают о сроках выхода патча. По мнению ИБ-аналитиков, это может быть связано с большим количеством вариантов команд Tar и Untar, которые будут затронуты изменениями в ядре системы. Проблему можно решить остановкой работы контейнера во время операций с файлами или отключением API docker cp, однако эксперты считают эти варианты временными.

Контейнеры Docker могут представлять угрозу безопасности сервера, даже если не содержат уязвимостей. В ноябре прошлого года исследователи выявили кибератаки, в которых упакованные модули использовались для доставки на целевые хосты майнеров криптовалюты и сетевых червей. Злоумышленники искали хранилища с открытыми портами 2375 и 2376, после чего запускали на них контейнеры с полезной нагрузкой.

Категории: Уязвимости