0x00 Предисловие
Spring — это легкая платформа с открытым исходным кодом в области программирования Java EE.
Основные функции среды Spring можно использовать для разработки любого приложения Java, но для создания веб-приложений на платформе Java EE требуются расширения.
Цель Spring Framework — упростить использование разработки J2EE, продвигая передовые методы программирования за счет использования модели программирования на основе POJO.
0x01 Описание уязвимости
В затронутой версии, поскольку UriComponentsBuilder неправильно фильтрует квадратные скобки `[` в информации о пользователе при обработке URL-адресов, злоумышленники могут создавать вредоносные URL-адреса, содержащие квадратные скобки, чтобы обойти проверку имени хоста.
Когда приложение использует UriComponentsBuilder.fromUriString() для анализа предоставленного извне URL-адреса (например, через параметр запроса) и выполняет проверку на узле анализируемого URL-адреса, оно может быть уязвимо для атак с открытым перенаправлением и атак SSRF, что приводит к фишингу и Ожидание проверки внутренней сети.
0x02 номер CVE
CVE-2024-22243
0x03 затронутая версия
Spring Framework 6.1.0 - 6.1.3
Spring Framework 6.0.0 - 6.0.16
Spring Framework 5.3.0 - 5.3.31
и более старые неподдерживаемые версии.
0x04 Подробности об уязвимости (Отсеть)
https://github.com/threedr3am/learnjavabug/commit/65a6bd4f72c985b4f31821a732e7da39050910ac
ссылка на ссылку 0x05
https://spring.io/security/cve-2024-22243
https://github.com/spring-projects/spring-framework/commit/7ec5c994c147f0e168149498b1c9d4a249d69e87