
Технический PoC для CVE-2026-2472 (GCP-2026-011): неаутентифицированный и сохранённый межсайтовый скриптинг (XSS) в google-cloud-aiplatform _genai/_evals_visualization (Vertex AI Python SDK), затрагивающий Jupyter/Colab.
google-cloud-aiplatformgoogle-cloud-aiplatform — это официальный Python SDK Google Cloud для работы с Vertex AI. Он предоставляет высокоуровневые абстракции для создания, обучения, развертывания и использования моделей машинного обучения (включая AutoML и пользовательские модели), а также для управления наборами данных, конечными точками, конвейерами и предсказаниями.
GCP-2026-011 (опубликовано и обновлено 2026-02-20) описывает CVE-2026-2472 — хранимую XSS-уязвимость в компоненте _genai/_evals_visualization.py Python SDK Google Cloud Vertex AI (google-cloud-aiplatform), затрагивающую версии с 1.98.0 до (не включая) 1.131.0, при которой неаутентифицированный злоумышленник может внедрить escape-последовательности сценариев в результаты оценки модели или JSON набора данных и добиться выполнения произвольного JavaScript в среде Jupyter/Colab жертвы; Google указывает, что проблема устранена обновлением до версии 1.131.0 или новее (1.131.0 выпущена 2025-12-16).
vertexai/_genai/_evals_visualization.pyФайл уязвим к хранимому XSS, потому что он встраивает управляемый атакующим JSON непосредственно во встроенный блок <script> без выполнения экранирования для контекста сценария в HTML. Это позволяет вредоносному значению, содержащему закрывающую последовательность сценария (например, </script>), выйти за пределы предполагаемого присваивания данных JavaScript и внедрить исполняемый JavaScript в отображаемый в Jupyter/Colab HTML.
Основная проблема заключается в следующем паттерне:
_get_evaluation_html(...) внедряет сырой JSON в:
const data = {eval_result_json}; (строка 101)_get_comparison_html(...) внедряет сырой JSON в:
const data = {eval_result_json}; (строка 180)_get_inference_html(...) внедряет сырой JSON в:
const data = JSON.parse({dataframe_json}); (строка 252)Даже когда входные данные сериализуются с помощью json.dumps(...), это лишь делает их корректным JSON — но не делает безопасным для встраивания в контекст HTML <script>. Если любое поле в JSON содержит </script>, HTML-парсер браузера может завершить текущий тег <script> и интерпретировать остаток как управляемый атакующим HTML/JS.
{
"prompt": "</script><script>alert('XSS');</script>",
"rows": []
}
CVE-2026-2472google-cloud-aiplatform и pandaspip install google-cloud-aiplatform==1.98.0
pip install pandas
CVE-2026-2472.py для генерации локального PoC(.venv) L:\>python CVE-2026-2472.py
[+] xss_proof_local.html
