Механизм TOCTOU стал ахиллесовой пятой продуктов NVIDIA.
В Container Toolkit компании NVIDIA недавно была обнаружена критическая уязвимость, позволяющая злоумышленникам выйти за пределы контейнера и получить полный доступ к хост-системе. Уязвимость получила идентификатор CVE-2024-0132 и оценку 9.0 из 10 по шкале CVSS.
Проблема затрагивает все версии NVIDIA Container Toolkit вплоть до v1.16.1 и NVIDIA GPU Operator вплоть до версии 24.6.1. Причиной уязвимости стал механизм Time-of-Check Time-of-Use (TOCTOU).
При использовании инструмента с настройками по умолчанию специально созданный контейнерный образ может получить доступ к файловой системе хоста. Эксплуатация уязвимости способна привести к выполнению произвольного кода, отказу в обслуживании, повышению привилегий, раскрытию информации и изменению данных. Проблема не затрагивает случаи, где применяется интерфейс Container Device Interface (CDI).
За обнаружение уязвимости ответственна компания Wiz, которая уведомила NVIDIA 1 сентября этого года. По словам исследователей, атака возможна в случае, если злоумышленник имеет контроль над контейнерными образами, запускаемыми через Toolkit. Тогда потенциальный атакующий может выполнить так называемый «побег из контейнера» и получить доступ к хост-системе.
Возможный сценарий атаки включает создание вредоносного контейнерного образа. Если этот образ будет запущен на целевой платформе напрямую или через сервисы, позволяющие совместное использование GPU, злоумышленник сможет получить полный доступ к файловой системе хоста, что даст возможность атаковать цепочку поставок или использовать сервисы с общими ресурсами.
С доступом к сокетам Container Runtime (docker.sock/containerd.sock), атакующий сможет выполнять произвольные команды на хост-системе с правами root, фактически получая полный контроль над устройством.
Особую опасность данная уязвимость представляет для оркестрованных мультитенантных сред, где злоумышленник может выйти за пределы контейнера и получить доступ к данным и секретам других приложений, работающих на одном узле или кластере.
Уязвимость была исправлена в NVIDIA Container Toolkit v1.16.2 и NVIDIA GPU Operator v24.6.2. В целях предотвращения эксплуатации технические детали атаки пока не разглашаются. Пользователям настоятельно рекомендуется как можно скорее применить доступные обновления.
Сбалансированная диета для серого вещества