🇰🇷 한글 설명
Spring Cloud Gateway Server Webflux의 actuator 엔드포인트가 보안되지 않으면 공격자가 Spring Environment 속성을 수정할 수 있습니다. Spring Boot actuator가 의존성으로 포함되고 gateway 엔드포인트가 노출된 경우, 인증 없이 시스템 설정을 변조하는 공격이 가능합니다.
💡 쉬운 설명
Spring Cloud Gateway 서버의 설정 관리 기능이 보호되지 않으면, 누구나 서버의 중요한 설정을 변경할 수 있습니다. 이를 통해 공격자는 서버를 완전히 제어하거나 마비시킬 수 있습니다.
🇺🇸 원문 (English)
Spring Cloud Gateway Server Webflux may be vulnerable to Spring Environment property modification.
An application should be considered vulnerable when all the following are true:
* The application is using Spring Cloud Gateway Server Webflux (Spring Cloud Gateway Server WebMVC is not vulnerable).
* Spring Boot actuator is a dependency.
* The Spring Cloud Gateway Server Webflux actuator web endpoint is enabled via management.endpoints.web.exposure.include=gateway.
* The actuator endpoints are available to attackers.
* The actuator endpoints are unsecured.
📍 영향받는 시스템
Spring Cloud Gateway Server Webflux (Spring Boot actuator 의존성 포함, management.endpoints.web.exposure.include=gateway 설정된 경우)
⚔️ 공격 벡터
보안되지 않은 /actuator/gateway 엔드포인트에 HTTP 요청을 전송하여 Spring Environment 속성 수정 또는 라우팅 설정 변조
🛡️ 대응 방법
actuator 엔드포인트 비활성화, Spring Security로 인증/인가 설정, 또는 방화벽으로 actuator 접근 제한
🔧 검증 코드
버전 번호가 출력되면 해당 버전의 Spring Cloud Gateway 설치 확인; application.properties에서 management.endpoints.web.exposure.include 설정 확인 필요
grep -r "spring-cloud-gateway" pom.xml build.gradle 2>/dev/null | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' | head -1