Обновление Spring AI закрывает критическую уязвимость в компонентах векторных хранилищ Elasticsearch, OpenSearch и GemFire

Spring

Разработчики Spring опубликовали бюллетень безопасности, в котором раскрыли информацию об уязвимости CVE-2026-47835. Эта проблема затрагивает несколько версий фреймворка Spring AI, а именно все сборки линеек 1.0.x ниже 1.0.9 и 1.1.x ниже 1.1.8. Уязвимость классифицирована как опасная (High) и получила оценку 7,3 балла по шкале CVSS 3.1. Вектор атаки при этом сетевой, для эксплуатации не требуется аутентификация, а сложность реализации минимальна.

Уязвимость CVE-2026-47835

Суть уязвимости заключается в некорректной обработке специальных символов при фильтрации метаданных в векторных хранилищах. Под удар попали три компонента: spring-ai-elasticsearch-store, spring-ai-opensearch-store и spring-ai-gemfire-store. Используя эту брешь, злоумышленник может выполнить произвольные запросы к базе данных через механизм векторного поиска. Другими словами, проблема позволяет не только извлечь данные, к которым у атакующего не должно быть доступа (обход политик безопасности), но и произвести SQL-инъекцию (SQLi) непосредственно в хранилище.

Почему эта уязвимость заслуживает пристального внимания? Spring AI - популярный инструмент для интеграции больших языковых моделей и других решений в области генеративного искусственного интеллекта в экосистеме Java. Векторные хранилища используются для хранения эмбеддингов - числовых представлений текстов, изображений или аудио. Такие базы данных стали незаменимыми при построении RAG-пайплайнов (Retrieval-Augmented Generation), когда модель дополняет свой ответ релевантными фрагментами из внешнего корпуса.

При неправильной фильтрации метаданных, которая и была допущена в уязвимых версиях, злоумышленник может обойти ограничения и выполнить запросы напрямую к Elasticsearch, OpenSearch или GemFire VectorDB. Например, вместо поиска подходящего эмбеддинга он может изменить параметры выборки, чтобы получить доступ к полям документа, закрытым для обычного пользователя. В случае GemFire VectorDB - ещё и выполнить произвольный код на уровне хранилища, что грозит полной компрометацией сервера баз данных.

Техника эксплуатации достаточно проста. Достаточно передать в строку запроса специальные символы (например, кавычки, амперсанд, точка с запятой), которые не экранируются должным образом. Затем через эту точку входа злоумышленник может строить собственные выражения на языке запросов, характерном для каждой конкретной СУБД. Наличие этой уязвимости особенно опасно для компаний, которые развернули Spring AI в облачной инфраструктуре или в средах с публичным доступом к API. В таких сценариях атака может быть запущена практически мгновенно после обнаружения уязвимости.

Разработчик уязвимости - исследователь Нитрок Као (Nitro Cao) из облачного подразделения Alibaba Cloud. Информация о проблеме была передана вендору ответственно и своевременно. Как сообщает официальное уведомление, патчи уже выпущены и доступны в виде обновлений до версий 1.0.9 для ветки 1.0.x и 1.1.8 для ветки 1.1.x. Дополнительных шагов по смягчению рисков не требуется - установка патча полностью устраняет уязвимость.

Каков статус исправления для пользователей? Если вы используете Spring AI и какой-либо из перечисленных компонентов векторного хранилища (Elasticsearch, OpenSearch или GemFire), необходимо как можно скорее обновить зависимости до указанных стабильных версий. Затягивание с установкой исправления оставляет систему открытой для атак с высокой вероятностью практической реализации.

На практике эксплуатация этой уязвимости может привести к утечке конфиденциальных данных, хранящихся в векторных базах, модификации или удалению записей, а в отдельных случаях - к выполнению команд на сервере. Учитывая, что векторные хранилища часто содержат данные, извлечённые из внутренних систем предприятия (корпоративные документы, базы знаний, логи), последствия могут быть серьёзными как для репутации, так и для соответствия регуляторным требованиям.

Команда Spring рекомендует проверить версии всех трёх скомпрометированных модулей. Если вы используете spring-ai-elasticsearch-store, spring-ai-opensearch-store или spring-ai-gemfire-store старее указанных фиксов, безотлагательно обновите их до версий 1.0.9 или 1.1.8 соответственно. Обновление тривиально - оно не требует изменения конфигурации или перестройки приложения.

Для администраторов, которые не могут немедленно применить патч, в качестве временной меры может рассматриваться изоляция серверов векторных хранилищ от прямого доступа из внешней сети, а также тщательная фильтрация входных данных на уровне API. Однако эти меры не являются полноценной защитой, так как уязвимость находится внутри самого кода Spring AI и не может быть полностью нейтрализована внешними средствами.

CVE-2026-47835 - это классический пример опасности недостаточной санитизации входных данных в популярном фреймворке. Организациям, использующим Spring AI с указанными компонентами, настоятельно рекомендуется в кратчайшие сроки установить патч, чтобы избежать потенциальных атак, которые могут привести к компрометации инфраструктуры и утечке данных.

Ссылки

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