Сопровождающие Spring Framework выпустили экстренный патч, закрывающий свежераскрытую уязвимость удалённого выполнения кода. При успешной эксплуатации она позволяет неаутентифицированному злоумышленнику получить полный контроль над целевой системой.
Проблема получила идентификатор CVE-2022-22965 и высокий уровень опасности. Она затрагивает Spring Framework версий с 5.3.0 по 5.3.17, с 5.2.0 по 5.2.19, а также более старые версии, которые уже не поддерживаются. Пользователям рекомендуют как можно скорее обновиться до 5.3.18 или новее и до 5.2.20 или новее.
Spring Framework — это Java-фреймворк, обеспечивающий инфраструктурную поддержку при разработке веб-приложений, поэтому масштаб потенциально уязвимого парка велик.
Кому реально грозит атака
По словам Россена Стоянчева из команды Spring, уязвимость затрагивает приложения Spring MVC (model–view–controller) и Spring WebFlux, работающие на JDK (Java Development Kit) версии 9 и выше. Но одного этого условия недостаточно.
«Конкретный эксплойт требует, чтобы приложение работало на Tomcat в виде WAR-развёртывания. Если приложение развёрнуто как исполняемый JAR-файл Spring Boot, то есть по умолчанию, оно не уязвимо для этого эксплойта», — уточнил Стоянчев.
Исследователи Энтони Уимс и Даллас Каман из компании Praetorian добавили, что для эксплуатации нужна конечная точка с включённым DataBinder — например, POST-запрос, который автоматически декодирует данные из тела запроса. При этом успех сильно зависит от сервлет-контейнера конкретного приложения.
Тем не менее в команде Spring предупредили, что «природа уязвимости носит более общий характер»: не исключены и другие способы её эксплуатации, которые пока не выявлены. Иными словами, ограничиваться проверкой только описанного сценария не стоит.
Гонка с публичным эксплойтом
Патч вышел не на пустом месте. 30 марта 2022 года некий китайскоязычный исследователь ненадолго опубликовал на GitHub коммит с готовым PoC-кодом (proof-of-concept) для CVE-2022-22965 — позже публикацию удалили. Но за такое короткое окно код вполне мог разойтись по рукам, что и объясняет срочность выпуска исправления.
Команда Spring, входящая в структуру VMware, отметила, что впервые получила сведения об уязвимости «поздно вечером во вторник, около полуночи по GMT, от codeplutos и meizjm3i из AntGroup FG Security Lab». Отдельно поблагодарили за сообщение о проблеме и компанию Praetorian.
Итог простой: если у вас есть Spring-приложения на затронутых версиях, развёрнутые классическим способом на Tomcat, обновление стоит воспринимать как срочное, а не плановое.
Источник: The Hacker News.