9 июня 2026 года разработчики Spring опубликовали сразу 15 бюллетеней безопасности, охватывающих несколько ключевых подпроектов экосистемы. Уязвимости затрагивают Spring Security, Spring Data Commons, Spring Data MongoDB, Spring Data Relational, Spring Data REST, Spring AMQP и Spring Authorization Server. В зависимости от вектора атаки потенциальные последствия варьируются от отказа в обслуживании до выполнения произвольного кода на сервере.
Детали уязвимостей
Наиболее опасной можно считать уязвимость CVE-2026-41717 (уровень HIGH) в Spring Data MongoDB. Она связана с инъекцией выражений SpEL (язык выражений Spring) при связывании параметров в аннотированных запросах @Query. Если приложение определяет метод репозитория с заполнителем типа ?0 или :#{?0} и передаёт в него неочищенные пользовательские данные, злоумышленник может добиться выполнения произвольного кода на уровне JVM. Такая же степень риска характерна для CVE-2026-41729 (HIGH) в Spring Data REST, где инъекция SpEL происходит через ключи карты в запросах JSON Patch. Автору отчёта Daehyun Kang удалось продемонстрировать, что при наличии у сущности свойства типа Map злоумышленник, способный отправлять PATCH-запросы, может сконструировать ключ, выходящий за рамки литерала индексатора, и выполнить произвольное подвыражение в контексте агрегата.
Ещё одна критическая уязвимость CVE-2026-41003 (HIGH) касается Spring Security: она приводит к межсайтовому скриптингу (XSS) из-за отсутствия экранирования HTML-вывода. Атакующий, способный влиять на значения в RelyingPartyRegistration, может внедрить вредоносный код в формы, генерируемые фильтрами безопасности. Оценка по шкале CVSS v3.1 - 8.1 (высокая).
Высокий уровень опасности также присвоен уязвимостям CVE-2026-41695 и CVE-2026-41716 в Spring Data Commons, CVE-2026-41701 в Spring AMQP, CVE-2026-40988 и CVE-2026-40993 в Spring Security. Первая из них (CVE-2026-41695) позволяет вызвать отказ в обслуживании через перебор свойств путей в MappingContext. Если приложение передаёт недоверенный ввод в разрешение путей свойств, а целевые типы содержат рекурсивные или глубоко вложенные графы, злоумышленник может исчерпать ресурсы системы. Аналогичный эффект даёт CVE-2026-41716, где внутренний кэш поиска свойств неограниченно заполняется строками от атакующего, что ведёт к исчерпанию кучи.
Уязвимость CVE-2026-40988 (средней степени) в SAML 2.0 Service Provider приводит к отказу в обслуживании из-за неограниченной записи при декомпрессии SAML-полезной нагрузки через привязку REDIRECT. В то же время CVE-2026-40993 (средняя) допускает удалённое выполнение кода через десериализацию Java-объектов, если атакующий имеет права записи в таблицу базы данных, управляемую JdbcAssertingPartyMetadataRepository. Обе уязвимости исправлены в последних версиях Spring Security.
Некоторые уязвимости имеют низкую степень опасности, но всё же требуют внимания. Например, CVE-2026-41694 позволяет использовать поставщика услуг SAML как оракул дешифрования, так как SAML-ответы и элементы запросов/ответов на выход из системы расшифровываются без проверки подписи. Другая уязвимость - CVE-2026-41697 в Spring Data Relational - даёт возможность проводить слепую булеву инференцию данных через внедрение символов подстановки в QBE (Query By Example). Правда, она требует от разработчика явной конфигурации и экспонирования такого запроса.
Отдельно стоит выделить CVE-2026-41701 в Spring AMQP. В RabbitTemplate.sendAndReceive() с фиксированной очередью ответов идентификаторы корреляции предсказуемы из-за простого счётчика. При высокой привилегированности атакующего это позволяет отравить ответы (reply poisoning) и, в определённых сценариях, нарушить целостность данных.
Затронуты многочисленные версии продуктов. Например, Spring Security уязвим во всех ветках 5.7.x - 7.0.x, а также в более старых, неподдерживаемых. Исправления выпущены как для Open Source (OSS), так и для коммерческой поддержки Enterprise. В частности, для Spring Security 5.7.24, 5.8.26, 6.3.17, 6.4.17 доступны только по подписке Enterprise, а 6.5.11 и 7.0.6 - в открытом доступе. Аналогичная ситуация с Spring Data Commons, Spring Data MongoDB, Spring Data REST, Spring AMQP. Разработчики рекомендуют обновить все затронутые компоненты до последних стабильных версий, указанных в бюллетенях.
Для организаций, использующих Spring в корпоративных приложениях, особенно важно оперативно установить обновления. Некоторые уязвимости, такие как CVE-2026-41729 или CVE-2026-40993, могут эксплуатироваться удалённо без аутентификации или с минимальными правами. В случае отказа от установки патчей существует риск компрометации серверов, утечки данных и нарушения работы сервисов.
Ссылки
- https://spring.io/security/cve-2026-40988
- https://spring.io/security/cve-2026-40993
- https://spring.io/security/cve-2026-41003
- https://spring.io/security/cve-2026-41008
- https://spring.io/security/cve-2026-41694
- https://spring.io/security/cve-2026-41695
- https://spring.io/security/cve-2026-41696
- https://spring.io/security/cve-2026-41697
- https://spring.io/security/cve-2026-41701
- https://spring.io/security/cve-2026-41711
- https://spring.io/security/cve-2026-41716
- https://spring.io/security/cve-2026-41717
- https://spring.io/security/cve-2026-41719
- https://spring.io/security/cve-2026-41721
- https://spring.io/security/cve-2026-41729