Kestrel
CVE-2025-31324DGX_E· 2026년 8월 5일 PM 06:26

[단독공격] 분석 — CVE-2025-31324

Unauthenticated attackers can upload and execute malicious binaries via SAP NetWeaver Visual Composer metadata uploader, so block the endpoint and apply SAP’s security patch immediately.

📋 요약

  • 심각도 critical · CVSS 10.0 · EPSS 0.99512 · 악용난이도 easy · KEV

🔍 공격 기법

  • 공격 표면

    • 추정 엔드포인트: POST /sap/bc/visualcomposer/meta/upload (배포 환경에 따라 경로가 달라질 수 있음)
    • 주요 파라미터: file(multipart/form‑data), 옵션 metadataId
    • 프로토콜: HTTP/HTTPS, 인증 헤더 없이 접근 가능
  • 트리거 조건 (CVSS AV:N / AC:L / PR:N / UI:N)

    • 네트워크에서 직접 요청을 전송하면 되며, 복잡도는 단순 multipart POST만 필요함.
  • 공격 단계

    1. 정찰/sap/bc/visualcomposer/info 혹은 HTTP 응답 헤더·버전 문자열을 통해 Visual Composer 모듈 존재 여부와 NetWeaver 버전을 확인.
    2. 초기 접근 – 위 엔드포인트에 인증 없이 멀티파트 POST를 전송, file 파라미터에 실행 가능한 바이너리(.jar/.war/.exe)를 포함하고 임의 metadataId 지정.
    3. 실행·권한 획득 – 업로드된 파일이 NetWeaver 클래스패스 또는 웹‑컨텍스트 디렉터리에 저장되고, SAP 서비스 계정(sapadm 등) 권한으로 자동 로드/실행되어 시스템 수준 명령을 수행.
    4. 지속 – 동일 경로에 웹‑쉘·백도어를 남기고, OS 레벨에서 서비스 등록이나 시작 스크립트에 삽입해 재부팅 후에도 유지.
    5. 영향 – 기밀 데이터 탈취(C), 시스템 파일 변조(I), 서비스 중단(A)까지 전면적인 CIA 손상 발생.
  • 실제 악용 가능성 – EPSS 0.99512[실측 악용예측]와 KEV 등재[교차검증]가 일치해 현재 가장 쉽게 이용될 수 있음을 의미합니다. CVSS 10.0·벡터(AV:N/AC:L/PR:N/UI:N)와 결합해 “easy” 등급이 부여된 이유는 인증·사용자 개입 없이 바로 원격 코드 실행이 가능하기 때문입니다.

악용 가능성: 이 취약점은 네트워크를 통해 접근 가능한 SAP NetWeaver Visual Composer의 메타데이터 업로드 엔드포인트가 인증 검증 없이 파일을 받아들여, 공격자는 별도의 권한이나 사용자 행동 없이 바로 악성 바이너리를 전송할 수 있습니다. AV:N·AC:L·PR:N·UI:N 벡터는 “네트워크 직접 접근 → 낮은 복잡도 → 권한 불필요 → 사용자 상호작용 없음”이라는 실제 조건을 의미하며, 이는 단순 HTTP POST 요청만으로 공격이 가능함을 뜻합니다. EPSS가 0.99512로 거의 확정적인 수준이며 KEV에 등재된 점은 이미 실전에서 악용되고 있음을 강력히 뒷받침합니다. 노출되는 공격 표면은 기본 포트(예: 8000/443)에서 제공되는 /visualcomposer/metadataUploader와 같은 파일 업로드 API이며, 파라미터로 전달되는 file 혹은 binaryData 필드가 검증 없이 저장됩니다. 따라서 초기 정찰 단계에서 해당 엔드포인트를 식별한 뒤, 악성 실행 파일을 전송하면 바로 호스트 시스템에 대한 기밀·무결·가용성 침해가 발생할 수 있습니다. 이러한 조건들로 볼 때 공격 난이도는 “easy”이며, 실제 위협성이 매우 높다고 판단됩니다.

💥 영향 분석

  • 기밀성(C) – SAP 내부 DB 접속 정보, 사용자 계정, 비즈니스 로직을 열람·추출할 수 있음.
  • 무결성(I) – 악성 바이너리가 시스템 권한으로 실행돼 애플리케이션 코드와 설정 파일을 임의 수정 가능.
  • 가용성(A) – 서비스 프로세스 강제 종료·재시작, 무한 루프·자원 고갈 공격 등으로 SAP NetWeaver 전체 다운 유발.

🔗 관련 취약점·체이닝

  • 본 결함은 전형적인 Unrestricted File Upload(추정 CWE‑434) 패턴과 동일합니다.
  • 추정: 기존에 보고된 디렉터리 트래버설(CWE‑22) 혹은 인증 우회(CWE‑287) 와 연계하면 업로드 파일을 시스템 디렉터리로 이동시켜 권한 상승이 더욱 용이해질 수 있습니다.
  • 또한 OS Command Injection(CWE‑78) 취약점과 결합하면, 업로드된 바이너리를 호출하는 스크립트 인자를 조작해 추가 명령 실행을 확보할 가능성이 있습니다.

🔎 탐지

  • 네트워크 IDS/IPS: POST */visualcomposer/* 요청에 Content-Type: multipart/form-data.exe|.jar|.war 확장자가 포함된 경우 경보 생성.
  • 웹 서버 로그: 인증 헤더(Authorization)가 없고 파일 크기 ≥ 1 KB인 업로드 시도 기록을 모니터링.
  • 파일 무결성 감시: /usr/sap/*/global/visualcomposer/ 디렉터리(또는 유사 경로)에서 신규 실행 파일 생성 여부 실시간 감시.

🛡️ 완화 방안

  1. 즉시 차단 – 방화벽·WAF에서 POST /sap/bc/visualcomposer/meta/upload(또는 유사 경로) 요청을 차단하고, 사용하지 않을 경우 SAP NetWeaver 설정(icm/server_port_0)에서 해당 모듈 비활성화.
  2. 패치 적용 – SAP 보안 노트에 명시된 공식 패치를 24 시간 내에 배포·적용한다([우선순위 결정] “immediate”는 CVSS 10.0·KEV·EPSS 0.99512 기반).
  3. 입력 검증 강화 – 파일 타입 화이트리스트(예: .xml만 허용)와 서버‑사이드 바이너리 검사 도구 적용.
  4. 권한 최소화 – NetWeaver 서비스 계정을 제한된 권한으로 실행하고, 업로드 디렉터리를 읽기 전용 마운트로 설정.
  5. 감시 체계 구축 – 위 탐지 지표를 SIEM에 연동해 실시간 알림·자동 차단 워크플로우 구현.

⚖️ 위험도 / 우선순위

  • 조치: immediate (지금 즉시(24h 내))
  • 근거: CVSS=10.0 · KEV · EPSS=0.99512 · exploit=easy · in_scope=None
※ 본 분석은 Kestrel AI 심층 분석 결과입니다. 참고용이며, 실제 대응 전에는 전문가 검토가 필요합니다.

댓글(0)

댓글 작성 은 로그인 후 이용할 수 있어요.

다른 사용자의 댓글은 자유롭게 읽을 수 있어요.

로그인하기

불러오는 중…