[방어] 분석 — CVE-2025-31324
Unauthenticated RCE via the SAP NetWeaver Visual Composer Metadata Uploader requires immediate mitigation by restricting upload directory execution and blocking unauthorized access to the uploader endpoint.
📋 요약
- 심각도 critical · CVSS 10.0 · EPSS 0.99512 · 악용난이도 easy · KEV
🔍 공격 기법
공격자는 인증되지 않은 상태에서 SAP NetWeaver의 Visual Composer Metadata Uploader 엔드포인트에 접근하여 악성 실행 파일(Binary) 또는 스크립트를 업로드합니다.
- 경로: 외부망 $\rightarrow$ Visual Composer Metadata Uploader $\rightarrow$ 서버 내 특정 디렉터리 저장.
- 단계: 권한 검증 부재를 이용한 파일 업로드 $\rightarrow$ 추정: 웹 루트(Web Root) 또는 애플리케이션 컨텍스트 경로에 파일 배치 $\rightarrow$ 해당 파일을 호출하여 원격 코드 실행(RCE).
악용 가능성: 본 취약점의 공격 난이도는 매우 낮으며, 실제 악용 가능성은 극도로 높습니다. CVSS 벡터(AV:N/AC:L/PR:N/UI:N)가 보여주듯, 공격자는 특별한 권한이나 사용자 상호작용 없이 네트워크를 통해 원격으로 접근할 수 있으며, 복잡한 사전 조건 없이 즉시 트리거가 가능합니다. 특히 EPSS 수치가 0.99512로 매우 높고 이미 KEV에 등재되었다는 점은, 이론적 위험을 넘어 실제 야생(In-the-wild)에서 공격 도구가 배포되고 활발히 악용되고 있음을 입증합니다. 공격 표면은 SAP NetWeaver Visual Composer의 'Metadata Uploader' 엔드포인트이며, 인증 절차가 누락된 해당 인터페이스를 통해 임의의 실행 파일(Binary)을 업로드하는 방식으로 동작합니다. 결과적으로 외부로 노출된 HTTP/HTTPS 프로토콜 상의 특정 파라미터를 통해 악성 파일을 주입함으로써 시스템 전체의 제어권을 획득할 수 있는 치명적인 경로가 열려 있습니다.
💥 영향 분석
- 기밀성/무결성/가용성: CVSS 10.0 및 벡터
S:C(Scope Changed)에서 보듯, 애플리케이션 권한을 넘어 호스트 시스템 전체로 영향이 확산됩니다. - 실질적 위험: WebShell 설치를 통한 OS 명령어 실행, 내부망 침투(Lateral Movement), 데이터 탈취 및 파괴가 가능합니다.
🔗 관련 취약점·체이닝
- 유형: Unauthenticated File Upload $\rightarrow$ Remote Code Execution (RCE).
- 체이닝: 업로드된 파일의 경로가 웹 서버에서 실행 가능한 위치일 경우, 별도의 추가 취약점 없이 즉시 RCE로 이어지는 단일 체인 구조입니다.
🔎 탐지
다중 소스 교차검증을 통해 일관성이 확인되었으며, 특히 EPSS 0.99512는 이론적 수치를 넘어 실제 악용 가능성이 극도로 높음을 시사합니다. 따라서 다음과 같은 정밀 탐지가 필요합니다.
1. 로그 지표 및 분석 필드
- 대상 로그: HTTP Access Log, WAF Log, OS File System Audit Log.
- 핵심 필드:
request_uri,http_method(POST),multipart/form-data,fileName,contentLength.
2. 탐지 규칙 예시
- Rule 1 (WAF/SIEM - 비정상 업로드 시도):
- 조건:
URI contains "Visual Composer Metadata Uploader" 경로ANDMethod == POSTANDUser_Agent != [Known_Internal_Clients] - 의사코드:
SELECT * FROM web_logs WHERE uri LIKE '%/metadata/uploader%' AND method='POST' AND auth_status='unauthenticated'
- 조건:
- Rule 2 (EDR/SIEM - 파일 생성 모니터링):
- 조건:
Process == "sapwebdisp" or "java"ANDAction == "FileCreate"ANDExtension IN (".jsp", ".war", ".exe", ".sh")ANDPath == [Visual Composer Upload Path]
- 조건:
- Rule 3 (정규식 기반 페이로드 탐지):
- 패턴:
(?i)(runtime\.exec|java\.lang\.Runtime|processbuilder)등이 포함된 POST Body 요청 탐지.
- 패턴:
3. 오탐 튜닝 및 대응
- 오탐 시나리오: 정기적인 메타데이터 업데이트 작업이나 관리자의 합법적 업로드 활동.
- 튜닝 방법: 신뢰할 수 있는 내부 관리자 IP 화이트리스트를 적용하고, 파일 크기가 비정상적으로 작거나 큰 경우(예: 1KB 미만 또는 특정 임계값 초과)에 가중치를 부여합니다.
🛡️ 완화 방안
본 취약점은 KEV 등재 및 EPSS 수치에 근거하여 immediate 우선순위로 대응해야 합니다.
1. 즉시 (긴급 차단)
- 조치: WAF 또는 네트워크 ACL을 통해 Visual Composer Metadata Uploader 엔드포인트에 대한 외부 접근을 전면 차단하거나, 신뢰된 IP만 허용하도록 제한합니다.
- 난이도/영향/검증: 낮음 / 특정 기능 사용 불가(가용성 저하) /
curl또는 외부 브라우저 접속 시 403 Forbidden 확인.
2. 단기 (위험 완화)
- 조치 A (OS 레벨): 업로드 디렉터리에 대해
noexec마운트 옵션을 적용하여 저장된 파일이 실행되지 않도록 강제합니다. (가장 실효적인 물리적 분리) - 조치 B (웹 서버 설정): 웹 서버 설정(예: HTTP Server)에서 해당 경로 내의 스크립트(
.jsp,.php등) 실행 권한을 제거합니다. - 조치 C (전수 조사): 현재 서버 내 업로드 경로에 비정상적인 파일(WebShell 추정 파일)이 존재하는지 해시 및 확장자 기반으로 전수 조사를 실시합니다.
- 난이도/영향/검증: 중간 / 서비스 영향 적음 /
mount명령어로noexec확인 또는 파일 실행 시 403/500 에러 확인.
3. 근본 (해결)
- 조치: SAP에서 제공하는 최신 보안 패치를 적용하여 Metadata Uploader의 권한 검증 로직을 수정합니다.
- 난이도/영향/검증: 높음(다운타임 필요) / 서비스 일시 중단 / 패치 후 버전 확인 및 취약점 스캔 재수행.
잔여 리스크: 패치 이후에도 이미 업로드된 백도어가 존재할 수 있으므로, 반드시 '전수 조사'와 '파일 시스템 무결성 검사'가 선행되어야 합니다.
⚖️ 위험도 / 우선순위
- 조치: immediate (지금 즉시(24h 내))
- 근거: CVSS=10.0 · KEV · EPSS=0.99512 · exploit=easy · in_scope=None