English Advisory →
CVE-2022-2294710.0/CRITICALCISA KEV 등재CWE-94CWE-917

Spring Cloud Gateway 원격 코드 실행(RCE) 취약점 분석 및 대응 가이드 (CVE-2022-22947)

⚡ 패치 명령어 바로가기
영향받는 벤더 / 생태계
vmware, spring
대상 컴포넌트 / 패키지
spring_cloud_gateway
권고문 발행일
2022-03-03
CVSS v3.1
10.0
CRITICAL
30일 악용확률
98.3%
FIRST.org
CISA KEV
악용 확인됨

실무자 핵심 요약 (Executive Summary)

SECOPS ASSESSMENT
영향 대상

Spring Cloud Gateway 3.1.1 미만 및 3.0.7 미만 버전 중 Gateway Actuator 엔드포인트가 활성화되고 비인증 상태로 노출된 환경

파급 효과

인증되지 않은 원격 공격자가 악의적으로 조작된 HTTP 요청을 전송하여 대상 서버에서 임의의 시스템 명령을 실행할 수 있는 원격 코드 실행(RCE) 위험

권장 조치

Spring Cloud Gateway 버전을 3.1.1 또는 3.0.7 이상으로 즉시 업그레이드하고, 불필요한 Actuator 엔드포인트를 비활성화하거나 접근 제어를 적용하십시오

영향받는 제품 및 버전 범위

Spring Cloud Gateway 3.1.0 (3.1.1 미만 버전) 및 3.0.0 ~ 3.0.6 (3.0.7 미만 버전)

권장 패치 및 임시 완화(Workaround) 가이드

패치 및 우회 명령어

1. 공식 보안 패치 및 버전 업그레이드 명령어

가장 확실한 해결책은 취약점이 해결된 최신 버전(3.1.1+ 또는 3.0.7+)으로 의존성을 업그레이드하는 것입니다.

Maven (pom.xml) 의존성 업데이트 예시:

xml
<!-- pom.xml -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-gateway</artifactId>
    <version>3.1.1</version>
</dependency>

Gradle (build.gradle) 의존성 업데이트 예시:

groovy
// build.gradle
dependencies {
    implementation 'org.springframework.cloud:spring-cloud-starter-gateway:3.1.1'
}

2. 패치 전 임시 완화(Workaround) 및 접근 제어 설정

즉각적인 패치가 어려운 경우, Gateway Actuator 엔드포인트를 비활성화하거나 외부 노출을 차단해야 합니다.

application.properties 또는 application.yml 설정을 통한 Actuator 비활성화:

yaml
# application.yml
management:
  endpoint:
    gateway:
      enabled: false # Gateway Actuator 엔드포인트 비활성화

만약 Actuator 사용이 필수적이라면, Spring Security를 적용하여 비인증 사용자의 접근을 원천 차단하십시오:

java
// SecurityConfig.java
@Bean
public SecurityWebFilterChain springSecurityFilterChain(ServerHttpSecurity http) {
    http
        .authorizeExchange()
        .pathMatchers('/actuator/**').hasRole('ADMIN')
        .anyExchange().permitAll()
        .and().httpBasic();
    return http.build();
}

3. 침해 흔적(IoC) 및 로그·버전 점검 스크립트

서버 로그에서 악의적인 라우트 생성 및 새로고침 요청 흔적을 탐지하기 위한 쉘 스크립트 예시입니다.

bash
#!/bin/bash
# Gateway Actuator를 통한 라우트 생성 및 새로고침 시도 로그 검색
LOG_FILE='/var/log/nginx/access.log' # 실제 환경에 맞게 경로 수정

echo '[*] Scanning for potential CVE-2022-22947 exploitation attempts...'
grep -E 'POST .*/actuator/gateway/routes/' "$LOG_FILE" && echo '[!] Warning: Route creation attempts detected!'
grep -E 'POST .*/actuator/gateway/refresh' "$LOG_FILE" && echo '[!] Warning: Gateway refresh attempts detected!'
실무자 패치 대응 자가 점검 체크리스트
0/4 (0%)
권장 아키텍처 방어 통제 (Recommended Security Control)
Cloudflare Enterprise & Pro WAF
Spring Cloud Gateway를 즉시 3.1.1 또는 3.0.7 이상 버전으로 업그레이드하고, 외부망에 노출된 Actuator 엔드포인트의 접근 제어를 강화하십시오.

코드 수정 전에도 가상 패치(Virtual Patching)로 웹 공격을 즉시 차단하세요

서버 재시작이나 긴급 패치가 어려운 운영 환경이라면 클라우드 WAF 관리형 룰셋을 활성화하여 SQLi, RCE, XSS 익스플로잇 페이로드를 엣지에서 1분 만에 차단할 수 있습니다.

평균 설정 시간 3분 · Zero-Day 자동 룰 업데이트
이 웹 취약점(WAF 우회 & RCE)을 안전한 실습 랩에서 직접 재현해 보세요
실습 랩 & 보안 강의 보러가기

취약점 발생 원리 및 공격 메커니즘

1. 취약점 개요 및 발생 원인 (Root Cause)

본 취약점(CVE-2022-22947)은 Spring Cloud Gateway에서 라우트를 동적으로 추가, 제거 및 조회할 수 있는 Gateway Actuator 엔드포인트가 활성화되어 있을 때 발생합니다. 공격자가 새로운 라우트를 추가하는 과정에서 필터 정의 내에 Spring Expression Language(SpEL) 표현식을 삽입할 수 있으며, 게이트웨이가 해당 라우트를 새로고침(Refresh)하여 구동하는 시점에 SpEL 표현식이 서버 측에서 필터링 없이 평가 및 실행되는 코드 주입(Code Injection) 취약점입니다 [1, CWE-94, CWE-917].

2. 공격 메커니즘 및 익스플로잇 시나리오

공격자는 먼저 외부로 노출된 /actuator/gateway/routes/{id} 엔드포인트로 POST 요청을 보내 악의적인 SpEL 표현식이 포함된 필터(예: AddResponseHeader)를 가진 신규 라우트를 생성합니다. 이후 /actuator/gateway/refresh 엔드포인트로 POST 요청을 전송하여 게이트웨이 설정을 동기화합니다. 이 과정에서 Spring Cloud Gateway 내부의 ShortcutConfigurable 인터페이스가 필터 매개변수를 파싱하면서 SpEL 파서를 호출하게 되고, 공격자가 주입한 페이로드가 JVM 컨텍스트 내에서 실행되어 원격 코드 실행(RCE)으로 이어집니다.

3. 비즈니스 및 인프라 파급 영향

본 취약점은 CVSS 10.0의 최고 위험도를 기록하였으며, CISA KEV(Known Exploited Vulnerabilities) 목록에 등재되어 실제 야생(In-the-Wild)에서 활발히 악용되고 있음이 확인되었습니다. Spring Cloud Gateway는 마이크로서비스 아키텍처(MSA)의 최전방 진입점(API Gateway) 역할을 수행하므로, 이 취약점이 노출될 경우 내부망 전체로의 횡적 이동(Lateral Movement)이 가능해지며 데이터 유출, 랜섬웨어 감염, 인프라 장악 등 치명적인 비즈니스 중단을 초래할 수 있습니다.

공식 보안 권고문 및 참조 링크

자주 묻는 실무 질문 (FAQ — CVE-2022-22947)

FAQ

Q1. CVE-2022-22947 취약점의 위험도와 실제 악용 가능성은 어느 정도입니까?

CVE-2022-22947의 기본 점수는 CVSS 10.0 (CRITICAL)이며, 향후 30일 내 실제 악용 확률을 나타내는 EPSS 점수는 98.3%입니다. 현재 미국 CISA KEV(실제 악용이 확인된 취약점 카탈로그)에 등재되어 있으므로 최우선 긴급 패치가 필요합니다.

Q2. CVE-2022-22947에 영향을 받는 벤더와 제품은 무엇입니까?

주요 영향 벤더는 vmware, spring이며, 대상 컴포넌트는 spring_cloud_gateway입니다. 상세 영향 범위: Spring Cloud Gateway 3.1.0 (3.1.1 미만 버전) 및 3.0.0 ~ 3.0.6 (3.0.7 미만 버전)

Q3. 서버 재기동이나 정규 패치 전 즉시 적용할 수 있는 완화 조치(Workaround)는 무엇입니까?

[권장 조치] Spring Cloud Gateway 버전을 3.1.1 또는 3.0.7 이상으로 즉시 업그레이드하고, 불필요한 Actuator 엔드포인트를 비활성화하거나 접근 제어를 적용하십시오 본문의 패치 및 우회 명령어 섹션과 자가 점검 체크리스트를 참고하여 외부 노출 포트를 차단하거나 WAF 탐지 규칙을 선적용하십시오.

실무자 보고서 워크벤치 연동

CVE-2022-22947 사내 보안 패치 공지문 · CISO 경영진 보고서 초안 자동 생성

클릭 한 번으로 사내 이메일·노션·결재 문서에 바로 붙여넣을 수 있는 공식 보고서 양식을 생성합니다.

보고서 초안 생성하기 →

🔗 함께 점검해야 할 동일 벤더·스택 연관 취약점 (vmware)

동일 카테고리 전체 보기 →
SecOps Advisory Dispatch & RSS Feed

일간 취약점 브리핑 및 긴급 Zero-Day 경보 구독

보안 실무자와 인프라·백엔드 엔지니어를 위해 매일 아침 주요 취약점과 패치 우선순위를 요약해 발송합니다.

Slack / Teams / RSS 리더 연동:
패치 명령EN
CVE-2022-22947 Spring Cloud Gateway 원격 코드 실행(RCE) 취약점 분석 및 대응 가이드 (CVE-2022-22947) (CVSS 10.0) - 패치 및 보안 권고 | CVE Pulse