
Демонстрирует обход аутентификации CVE-2025-22235 Spring Boot через неправильную настройку EndpointRequest.to(). Включает настройку среды, шаги по воспроизведению, анализ кода и рекомендации по устранению уязвимости для исследований и обучения в области безопасности.
CVE-2025-22235 — это уязвимость безопасности Spring Boot, связанная с тем, что метод EndpointRequest.to() при настройке правил безопасности может генерировать некорректные сопоставители, что приводит к потере защиты путей нераскрытых конечных точек актуатора (например, /null/**).
При использовании EndpointRequest.to("health") для настройки правил безопасности, если конечная точка не указана в , Spring Boot генерирует некорректный сопоставитель пути , в результате чего все запросы к этому пути проходят без проверки аутентификации.
healthmanagement.endpoints.web.exposure.include/null/**management.endpoints.web.exposure.include=info (открыта только конечная точка info, health не раскрыта)EndpointRequest.to("health") со ссылкой на нераскрытую конечную точкуmvn spring-boot:run
Прямой доступ по адресу http://localhost:8080/null без входа в систему доказывает наличие уязвимости обхода аутентификации.
При доступе к другим защищённым конечным точкам, например http://localhost:8080/info, требуется вход в систему.
.requestMatchers(EndpointRequest.to("health")).permitAll() // Точка срабатывания уязвимости
.requestMatchers("/null").authenticated() // Должен быть защищён, но обходится
@GetMapping("/null")
public String sensitiveEndpoint() {
return "Неавторизованный пользователь видит эту страницу – подтверждение уязвимости CVE-2025-22235!";
}
Обновитесь до исправленных версий:
EndpointRequest.to(), включены и доступны через Web/nullКоренная причина уязвимости заключается в том, что метод EndpointRequest.to() при обработке нераскрытых конечных точек генерирует некорректный сопоставитель пути. Когда имя конечной точки не указано в management.endpoints.web.exposure.include, Spring Boot создаёт шаблон пути, содержащий null, что приводит к неработоспособности правил безопасности.
Данный демонстрационный проект предназначен только для целей исследования безопасности и обучения. Не используйте в производственных средах. Использование данного проекта осуществляется на ваш собственный риск.