В Google Cloud Vertex AI SDK for Python нашли уязвимость, которая позволяла атакующему без доступа к проекту жертвы перехватывать загрузку ML-модели и добиваться выполнения кода в среде Vertex AI. The Hacker News со ссылкой на Palo Alto Networks Unit 42 описывает технику как «Pickle in the Middle». Google уже выпустила исправление; пользователям SDK рекомендовано обновиться до версии 1.148.0 или новее.

Проблема была связана с тем, как SDK выбирал временный Cloud Storage bucket для загрузки модели. Если разработчик не задавал staging_bucket явно, SDK строил предсказуемое имя на основе project ID и региона, а затем проверял только существование bucket, но не то, принадлежит ли он проекту жертвы. Поскольку имена Cloud Storage bucket глобально уникальны, атакующий мог заранее создать ожидаемый bucket в собственном проекте.

Дальше цепочка становилась особенно опасной для Python ML-пайплайнов. Жертва загружала модель в bucket злоумышленника, после чего тот быстро подменял файл на вредоносный. Многие модели на Python сохраняются через pickle или joblib, а такие форматы могут выполнять код при загрузке. Когда Vertex AI считывал подменённый объект, payload запускался внутри serving-контейнера.

Unit 42 измерила окно атаки примерно в 2,5 секунды между загрузкой файла и чтением Vertex AI. В proof of concept исследователи использовали Cloud Function, которая срабатывала после upload и заменяла модель за 1,4 секунды. В тестовой среде payload смог получить OAuth-токен из metadata server serving-контейнера и использовать его для доступа к другим артефактам и метаданным в управляемом tenant-проекте Google.

Google получила отчёт через Vulnerability Reward Program 5 марта 2026 года. Начальное исправление в версии 1.144.0 добавило случайный uuid4 к имени bucket, а версия 1.148.0 от 15 апреля завершила защиту проверкой владения bucket в Model.upload(). На момент публикации The Hacker News CVE для этой проблемы не указывался.

Администраторам и ML-инженерам стоит проверить версию google-cloud-aiplatform не только в production, но и в notebooks, CI, training jobs и локальных окружениях. Дополнительная мера защиты — явно задавать staging_bucket в Cloud Storage, который контролирует ваша организация. Уязвимость показывает, что безопасность AI-инфраструктуры зависит не только от модели, но и от клиентских SDK, временных хранилищ и форматов сериализации.

Источник: The Hacker News, 17 июня 2026