Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-58138-Conductor-Unauth-RCE — CVE-2026-58138 — Conductor (3.21.21..<3.30.2) INLINE GraalVM 평가기(HostAccess.ALL)를 통한 인증되지 않은 RCE. 실습 + PoC, e2e 검증 (root). | Kitploit
도구/GitHubGitHub/biitts/cve-2026-58138-conductor-unauth-rce
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationPenetration TestingCommand and ControlLearning & EducationPayload DevelopmentLabs & Practice
GitHubbiitts/cve-2026-58138-conductor-unauth-rce

CVE-2026-58138-Conductor-Unauth-RCE

CVE-2026-58138 — Conductor (3.21.21..<3.30.2) INLINE GraalVM 평가기(HostAccess.ALL)를 통한 인증되지 않은 RCE. 실습 + PoC, e2e 검증 (root).

저장소 보기
32개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-58138 — GraalVM INLINE 평가기를 통한 Conductor 인증되지 않은 RCE

Conductor (OSS / Orkes) 3.21.21 … 3.30.2 미만은 사용자가 제공한 JavaScript를 INLINE (및 LAMBDA / DO_WHILE / SWITCH) 태스크에서 GraalVM 컨텍스트로 평가하며, 전체 호스트 접근 (HostAccess.ALL)이 활성화되어 있습니다. 스크립트는 java.lang.Runtime까지 리플렉션하여 OS 명령을 실행합니다. 커뮤니티 API에는 기본적으로 인증이 없으므로, 이러한 태스크가 포함된 워크플로를 제출하는 것은 인증되지 않은 원격 코드 실행입니다.

CVECVE-2026-58138
권고vulncheck — Orkes Conductor 인증되지 않은 RCE via GraalVM 스크립트 평가기
영향받는 버전Conductor 3.21.21 … 3.30.2 미만
수정 버전3.30.2 (커밋 87a7d96, c691e35)
취약점 분류CWE-94 (코드 삽입) — GraalVM 폴리글롯 샌드박스가 적용되지 않음
CVSS9.8 — AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
인증 필요없음 (커뮤니티 API는 기본적으로 인증되지 않음)
상태확인됨 — conductoross/conductor:3.22.3에서 root로 재현됨

버전 참고 (꼭 읽어주세요). 취약 범위 내에서 평가기 구성이 다릅니다: ~3.29.x까지의 버전 (이 실습은 3.22.3 사용)은 단순 allowHostAccess(HostAccess.ALL)로 컨텍스트를 구축합니다 — 이는 CVE가 설명하는 샌드박스 없는 구성이며, 이 PoC가 직접 악용하는 대상입니다. 3.30.0/3.30.1 라인은 부분적인 denyAccess(...) 블록리스트를 추가했습니다 (리플렉션 차단); 완전한 수정 (allowHostClassLoading(false) + 엔진 강화)은 **3.30.2**에서만 적용됩니다. 이 PoC는 순수-HostAccess.ALL 구성을 대상으로 하며, 3.30.1 블록리스트를 우회한다고 주장하지 않습니다.


근본 원인

core/.../events/ScriptEvaluator.java (≤ 3.29.x / 3.22.3):

root@kitploit:~
return Context.newBuilder("js")
        .allowHostAccess(HostAccess.ALL)   // 전체 호스트 상호 운용 -> 샌드박스 없음
        .build();

HostAccess.ALL은 스크립트가 Java 호스트 객체의 모든 메서드/필드를 호출할 수 있게 합니다. INLINE 태스크는 입력을 실제 Java 객체인 $로 바인딩하므로, 스크립트는 다음과 같이 피벗할 수 있습니다: $.getClass().getClass() → java.lang.Class → Class.forName("java.lang.Runtime") → Runtime.getRuntime().exec(...). Python 평가기도 동일합니다 (Context.newBuilder("python").allowAllAccess(true)).

악용 방법

  1. 악성 expression을 포함한 INLINE 태스크가 있는 워크플로를 등록합니다 (POST /api/metadata/workflow, 인증 없음).
  2. 시작합니다 (POST /api/workflow/{name}, 인증 없음).
  3. INLINE 태스크가 JS를 평가하고, 리플렉션 Runtime.exec가 명령을 실행하며 PoC는 해당 표준 출력을 태스크 결과로 반환합니다.

재현 방법

root@kitploit:~
docker compose -f lab/docker-compose.yml up -d        # conductoross/conductor:3.22.3 (취약 범위 내)
# 올인원 서버가 부팅될 때까지 ~60초 대기

python3 exploit.py http://127.0.0.1:8080 -c "id; hostname"

관찰 결과:

root@kitploit:~
[*] registering workflow with a malicious INLINE (javascript) task ... (no auth)
[*] started workflow id=...; reading INLINE task output ...
[+] UNAUTHENTICATED RCE CONFIRMED - command output from the Conductor host:
uid=0(root) gid=0(root) groups=0(root)
vbox
Linux 6.18.12+kali-amd64

uid=0(root)는 Conductor 프로세스 사용자이며, 출력은 실시간 id/uname 상태입니다 — 실제 실행이지 에코가 아닙니다. exploit.py는 Python 표준 라이브러리만 사용합니다.

영향

Conductor API에 접근 가능한 누구든 오케스트레이터 호스트에서 임의의 OS 명령을 (여기서는 root로) 실행할 수 있습니다 — 이는 워크플로 엔진, 그 영속성/큐, 그리고 워크플로와 저장된 자격 증명이 접촉하는 모든 시스템의 완전한 손상을 의미합니다.

수정 방법

  • Conductor ≥ 3.30.2로 업그레이드하세요 (JS/Python 평가기가 더 이상 호스트 접근/클래스 로딩을 활성화한 상태로 실행되지 않습니다).
  • 심층 방어: Conductor API 앞에 인증을 배치하고, 서버를 루트가 아닌 최소 권한 사용자로 실행하며, 워크플로를 등록/실행할 수 있는 대상을 제한하세요.

탐지 방법

INLINE/LAMBDA/DO_WHILE/SWITCH 태스크의 expression 문자열이 getClass, forName, Runtime, exec, ProcessBuilder, 또는 java. 리플렉션을 참조하는 워크플로 정의와 셸을 생성하는 Conductor 프로세스를 플래그합니다.

리플렉션 체인, 버전별 평가기 구성 및 패치에 대해서는 ANALYSIS.md를 참조하세요.


  • 작성자: Caio Fabrício — github.com/BiiTts
  • 취약점 크레딧은 원래 보고자/공급업체 권고에 있습니다; 이 저장소는 방어 및 교육 목적의 독립적이고 재현 가능한 실습 + PoC입니다. 승인된 보안 테스트에만 사용하세요.
도구 다운로드