Уязвимость в драйвере хранилища Kubernetes угрожает целостности данных на серверах NFS

Kubernetes

В мире контейнерных технологий, где Kubernetes давно стал стандартом де-факто для оркестрации, безопасность периферийных компонентов инфраструктуры зачастую отходит на второй план. Однако новое открытие исследователей напоминает, что даже специализированные модули для работы с хранилищами могут стать источником серьёзной угрозы. Обнаруженная уязвимость в драйвере Container Storage Interface (CSI, интерфейс контейнерного хранилища) для Network File System (NFS, сетевая файловая система) позволяет злоумышленникам с определёнными правами в кластере модифицировать и удалять директории на внешних серверах хранения данных, что ставит под удар целостность критически важной информации.

Детали уязвимости CVE-2026-3864

Проблема, получившая идентификатор CVE-2026-3864 и оценку средней степени опасности 6.5 по шкале CVSS v3.1, была обнаружена исследователем Shaul Ben Hai из компании SentinelOne. Её наличие подтверждено во всех версиях драйвера CSI для NFS, выпущенных до v4.13.1. Суть уязвимости кроется в недостаточной проверке входных данных, которые драйвер получает при работе с томами. В основе механизма работы драйвера лежит параметр "subDir", определяющий, в какую именно поддиректорию на сервере NFS должен быть смонтирован том для контейнера. В нормальных условиях это позволяет организовать изолированное и безопасное хранение данных для разных приложений.

Однако в уязвимых версиях драйвер некорректно обрабатывает пользовательский ввод в этом параметре. Злоумышленник, обладающий правами на создание объектов типа PersistentVolume (постоянный том), которые ссылаются на данный драйвер, может внедрить в значение параметра последовательности для обхода пути, например, символы "../". Когда в ходе штатных операций жизненного цикла кластера, таких как удаление тома или очистка ресурсов, драйвер обращается к серверу NFS для выполнения действий с директориями, он использует скомпрометированный идентификатор. Поскольку проверка на наличие traversal-последовательностей (последовательностей для обхода пути) не проводится, драйвер, действуя с повышенными привилегиями на стороне сервера хранения, выполняет команды за пределами предназначенной для него экспортированной директории.

Таким образом, атакующий может заставить систему удалить или изменить произвольные каталоги на сервере NFS. Потенциальный ущерб здесь значителен, ведь подобное вмешательство может привести к потере данных, нарушению работы других приложений, использующих то же сетевое хранилище, или даже к полной остановке сервисов. Важно подчеркнуть, что область воздействия инцидента выходит далеко за границы одного Kubernetes-кластера и напрямую затрагивает базовую инфраструктуру хранения, которая часто является общей для множества систем.

Для успешной эксплуатации данной уязвимости злоумышленнику необходимо иметь в кластере права на создание PersistentVolume с явным указанием драйвера NFS CSI. Это не является привилегией по умолчанию для обычных пользователей, что несколько сужает круг потенциальных атакующих. Тем не менее, данная возможность может быть получена в результате эскалации привилегий внутри кластера, ошибочной конфигурации контроля доступа на основе ролей (RBAC) или действий инсайдера. Следовательно, уязвимость представляет особую опасность в многопользовательских или плохо сконфигурированных средах.

Для выявления потенциальной угрозы и смягчения её последствий командам информационной безопасности и администраторам Kubernetes рекомендуется немедленно предпринять ряд действий. В первую очередь необходимо провести инвентаризацию окружений на предмет использования уязвимых версий драйвера. Критически важно проанализировать поле "volumeHandle" во всех существующих PersistentVolume, которые используют драйвер NFS CSI, на предмет подозрительных последовательностей символов. Кроме того, для активного поиска индикаторов компрометации следует внимательно изучить логи CSI-контроллера. Аналитикам необходимо искать аномальные операции с директориями, в частности, записи об удалении подпутей, содержащих конструкции для обхода пути, например, "Removing subPath: /tmp/mount-uuid/legitimate/../../../exports/critical_data".

Основным и самым эффективным способом устранения уязвимости является обновление драйвера Container Storage Interface для NFS до патченной версии v4.13.1 или более новой. В этой версии реализована корректная валидация входных параметров, блокирующая возможность внедрения traversal-последовательностей. До момента применения обновлений администраторам следует ужесточить политики контроля доступа, строго ограничив круг лиц, имеющих права на создание PersistentVolume, исключительно доверенным персоналом. Параллельно рекомендуется пересмотреть конфигурацию экспортов на серверах NFS, убедившись, что права на запись для учётной записи, от имени которой работает драйвер, предоставлены только целевым директориям и не распространяются на корневые или системные разделы.

Данный инцидент наглядно демонстрирует фундаментальный принцип безопасности: права на управление инфраструктурой, особенно связанной с хранением данных, никогда не должны предоставляться непроверенным пользователям или сервисам без крайней необходимости. Постоянный аудит конфигураций RBAC, минимальное наделение привилегиями и тщательная валидация всех пользовательских входных данных во всех компонентах системы, включая, казалось бы, сугубо вспомогательные драйверы, остаются ключевыми практиками для защиты современных контейнерных платформ.

Ссылки

Комментарии: 0