Ошибки в среде разработки Spring Tools для Eclipse, VSCode, Cursor и Theia создают риски удалённого выполнения кода и раскрытия конфиденциальных данных. Разработчики выпустили обновления, закрывающие шесть уязвимостей, о чём сообщается в бюллетене безопасности от 29 июля 2026 года. Наибольшую опасность представляют две проблемы высокой степени серьёзности, связанные с удалённым выполнением кода (RCE) через JMX и некорректной публикацией портов в Docker.
Детали уязвимостей
Первая уязвимость, CVE-2026-47858, затрагивает все поддерживаемые среды - Eclipse, VSCode, Cursor и Theia. Она возникает при запуске Spring Boot‑приложений в режиме live information. Этот режим, предназначенный для отображения состояния работающего приложения, включает JMX‑доступ без надлежащей защиты, что позволяет злоумышленнику выполнить произвольный код. Проблема присутствует в Spring Tools for Eclipse версий 5.2.0 и ранее, а также в Spring Tools for VSCode / Cursor / Theia версий 2.2.0 и ранее. Исключение составляет недавно выпущенное расширение для Claude Code - оно не подвержено данной ошибке.
Вторая уязвимость высокой степени опасности, CVE-2026-47873, касается только Eclipse‑версии Spring Tools и возникает в интеграции с Docker. При запуске контейнера через панель управления Boot Dashboard порты для отладки (JDWP) и JMX публикуются на всех сетевых интерфейсах хоста (0.0.0.0) вместо того, чтобы быть ограниченными локальным интерфейсом (loopback). Это делает возможным удалённое подключение к этим портам из внешней сети без аутентификации. Проблема затрагивает Spring Tools for Eclipse версий 5.2.0 и ранее.
К менее опасным, но всё же требующим внимания уязвимостям относится CVE-2026-47882 (низкая степень). В Spring Tools for Eclipse секретный ключ для удалённого доступа к DevTools (spring.devtools.remote.secret) генерировался с использованием некриптографического генератора псевдослучайных чисел (PRNG). Хотя практическая эксплуатация затруднена - требуется дополнительная утечка информации из того же процесса или офлайн‑подбор начального значения - теоретически злоумышленник может восстановить ключ и получить возможность удалённого выполнения кода на целевом приложении. Исправление версии 5.3.0 заменяет генератор на криптостойкий источник случайности. Новый ключ создаётся при следующем включении удалённой поддержки DevTools.
Ещё одна проблема низкой степени - CVE-2026-59326, связанная с логированием прокси‑учётных данных. Языковой сервер Spring Boot при создании исходящего HTTP‑клиента записывает в лог на уровне INFO значения переменных окружения https_proxy, HTTPS_PROXY, http_proxy, HTTP_PROXY без какой‑либо маскировки. Поскольку корпоративные прокси‑серверы часто содержат Basic‑аутентификацию в формате http://user:pass@proxy:8080, эти данные оказываются в лог‑файле. Логи могут быть прикреплены к отчётам об ошибках или доступны другим локальным пользователям и процессам, что ведёт к раскрытию паролей. Уязвимость затрагивает все версии Spring Tools для Eclipse до 5.2.0 включительно и для VSCode/Cursor/Theia до 2.2.0 включительно. В качестве обходного пути рекомендуется не указывать учётные данные в самих переменных окружения, а настраивать аутентификацию отдельно.
Две средние по опасности уязвимости затрагивают только Eclipse. CVE-2026-59327: секретный ключ удалённого DevTools хранится в конфигурации запуска (launch configuration) Eclipse в виде открытого текста. Файлы .launch сохраняются в XML‑формате в метаданных рабочей области, а если пользователь пометит конфигурацию как общую, они попадают в дерево проекта и могут быть зафиксированы в системе контроля версий. Поскольку этот ключ является единственным учётным данным для доступа к DevTools, любой, кто получит доступ к файлу (через файловую систему, резервную копию или репозиторий VCS), сможет выполнить код в целевом приложении. Разработчикам рекомендуется не помечать такие конфигурации как общие и не коммитить .launch‑файлы, содержащие spring.devtools.remote.secret.
CVE-2026-59328: межсайтовый скриптинг (XSS) в мастере создания Spring‑проектов (Spring Starter Wizard). Всплывающие подсказки зависимостей отображаются во встроенном браузере Eclipse SWT Browser с включённым JavaScript. Если используется ненадёжный или скомпрометированный Initializr-сервер, при наведении курсора на флажок зависимости может выполниться произвольный скрипт. Влияние ограничивается подменой интерфейса и исходящими сетевыми запросами; полное выполнение кода невозможно. Чтобы снизить риск, следует использовать только доверенные Initializr-сервисы по HTTPS.
Исправления выпущены для всех уязвимостей. Пользователям Spring Tools для Eclipse необходимо обновиться до версии 5.3.0, а пользователям Spring Tools для VSCode / Cursor / Theia - до версии 2.3.0. Для непропатченных версий существуют меры обхода: отключение режима live information при запуске приложений, ограничение доступа к портам JMX и JDWP, отказ от общих конфигураций запуска и маскировка прокси‑учётных данных в окружении.
Данная серия уязвимостей в очередной раз подчёркивает важность своевременного обновления инструментов разработки. Даже компоненты, не предназначенные для непосредственного использования в production, могут содержать ошибки, способные привести к компрометации сред разработки и, как следствие, цепочек поставки программного обеспечения.
Ссылки
- https://spring.io/security/cve-2026-59328
- https://spring.io/security/cve-2026-59327
- https://spring.io/security/cve-2026-59326
- https://spring.io/security/cve-2026-47882
- https://spring.io/security/cve-2026-47873
- https://spring.io/security/cve-2026-47858