Одиннадцатого мая 2026 года команда разработчиков Spring опубликовала бюллетени, закрывающие сразу пять уязвимостей. Проблемы затронули два ключевых компонента популярной платформы: Spring Cloud Function и Spring AI. Игнорировать эту информацию не стоит ни одной компании, использующей современные микросервисы или инструменты на базе генеративных нейросетей.
Детали уязвимостей
Начнем с самого опасного. Уязвимость CVE-2026-41705, получившая высокий уровень критичности, представляет собой инъекцию выражений в библиотеке для работы с векторной базой данных Milvus. Злоумышленник мог манипулировать непроверенными идентификаторами документов, которые передаются в метод удаления. Как следствие, атакующий получал возможность модифицировать запрос к базе данных, что напрямую вело к уничтожению информации. Этот инцидент особенно опасен для систем, где Spring AI используется для работы с корпоративной базой знаний, так как последствием могла стать полная потеря данных в хранилище векторов.
Не менее серьезной оказалась проблема, скрывавшаяся в компоненте управления историей диалогов. Уязвимость CVE-2026-41712 позволила бы постороннему лицу получить доступ к приватным беседам соседних пользователей. Дело в том, что в памяти чат-бота использовалось стандартное значение идентификатора разговора. Если разработчик не переопределял его вручную, два запроса от разных людей, по сути, попадали в одну и ту же "комнату". Это прямой путь к тому, чтобы информация одного пользователя стала доступна другому. Важно подчеркнуть: после установки исправления приложения, которые раньше полагались на неявное умолчание, начнут выдавать ошибку. Специалистам придется вручную прописывать уникальный идентификатор для каждого нового диалога.
Следующая угроза, CVE-2026-41713, связана с так называемым отравлением памяти советника по ведению диалога. Вредоносный пользователь мог специально сформулировать запрос так, чтобы он сохранился в памяти модели и впоследствии повлиял на логику её следующих ответов. Такая техника, известная как prompt-инъекция (внедрение инструкций для нейросети), позволяет злоумышленнику манипулировать поведением бота. В реальном сценарии атаки это могло бы привести к тому, что помощник, следуя "отравленным" инструкциям, начнет раскрывать секретные данные или выполнять нежелательные действия от лица жертвы.
Весьма коварной оказалась уязвимость CVE-2026-40989 в Spring Cloud Function. Она позволяла обойти защитный механизм, контролирующий, какая функция обслуживает входящий запрос. Эксплуатация достигалась за счет создания цепочки, в которой функция ссылалась сама на себя. Такая рекурсия приводила к бесконечному циклу. В результате приложение зависало, потребляя всю доступную память. Для практикующего DevOps-инженера эта ситуация знакома: отказ в обслуживании через истощение ресурсов OOM (состояния, когда оперативной памяти не хватает) - один из самых неприятных сценариев, способный парализовать работу целого сервиса.
Завершает список уязвимость CVE-2026-40990, также в Spring Cloud Function. Она связана с отсутствием ограничений на кеширование определений функций. Если бы злоумышленник начал массово отправлять запросы на регистрацию новых обработчиков, компонент пытался бы сохранить их все. При отсутствии контроля роста кеша рано или поздно наступал бы момент, когда память заканчивалась. Это, как и в предыдущем случае, приводило бы к отказу в обслуживании.
Главный вывод из публикации очевиден. Экосистема Java развивается стремительно, но вместе с новыми возможностями приходят и новые угрозы. Особую тревогу вызывает тот факт, что сразу три уязвимости из пяти затрагивают модуль Spring AI. Это значит, что компании, внедряющие "умных" ассистентов и поиск по документам, оказались в зоне повышенного риска. Разработчикам необходимо как можно скорее обновить используемые библиотеки до указанных в бюллетенях версий: для Spring AI - это версии 1.0.7 и 1.1.6, для Spring Cloud Function - 4.3.3 или 5.0.2 и выше в зависимости от ветки. Только своевременный апгрейд позволит закрыть эти опасные бреши.
Ссылки
- https://spring.io/security/cve-2026-40989
- https://spring.io/security/cve-2026-41713
- https://spring.io/security/cve-2026-41712
- https://spring.io/security/cve-2026-41705
- https://spring.io/security/cve-2026-40990