
CVE-2026-58138(Conductor의 CVSS 9.8 코드 삽입 취약점)용 재현 키트입니다. Conductor에서 발생하며, OpenTaint 규칙, GraalVM 근사치, 격리된 규칙 테스트, 스캔 결과, 그리고 실제 동작하는 익스플로잇이 포함되어 있습니다.
스캔은 Conductor v3.23.0을 대상으로 하며, 인증되지 않은 워크플로 입력에서 전체 호스트 액세스 권한을 가진 GraalVM 평가기(evaluator)로 이어지는 두 가지 결과(findings)를 보고합니다. 각 결과에는 4개의 HTTP 진입점 흐름이 포함됩니다:
core/src/main/java/com/netflix/conductor/core/events/ScriptEvaluator.java:203core/src/main/java/com/netflix/conductor/core/execution/evaluators/PythonEvaluator.java:63.opentaint/rules/ - 조인 규칙 및 전체 호스트 액세스 Context.eval 싱크(sink).opentaint/model/config/ - GraalVM 유창한 빌더(fluent builder)를 위한 패스스루 모델.opentaint/test-projects/ - 긍정 및 부정 규칙 샘플 15개results/report.sarif - 재현된 OpenTaint 결과poc/poc_inline_lambda_rce.py - 실제 동작하는 익스플로잇OpenTaint 및 JDK 21이 필요합니다.
opentaint compile \
.opentaint/test-projects/graaljs-polyglot-code-injection \
--output /tmp/conductor-rule-model
opentaint test rule run /tmp/conductor-rule-model \
--ruleset .opentaint/rules \
--passthrough-approximations .opentaint/model/config
예상 결과: Passed: 15, failed: 0.
git clone --depth 1 --branch v3.23.0 \
https://github.com/conductor-oss/conductor.git conductor
opentaint scan ./conductor \
--ruleset builtin \
--ruleset .opentaint/rules \
--rule-id java/security/graaljs-polyglot-code-injection.yaml:graaljs-polyglot-code-injection \
--passthrough-approximations .opentaint/model/config \
--max-memory 16G \
--output results/report.sarif
opentaint summary results/report.sarif --show-findings
예상 결과: 위에 나열된 싱크에서 java/security/graaljs-polyglot-code-injection 결과 2개가 보고됩니다. 명령에 표시된 전체 <rule-file>:<rule-id> 값을 사용하면 OpenTaint가 조인(join)에서 참조하는 소스 및 싱크 규칙도 함께 로드합니다.
Conductor v3.23.0을 기본 서버 구성으로 시작한 후 다음을 실행하세요:
# JavaScript INLINE task
python3 poc/poc_inline_lambda_rce.py --base-url http://localhost:8000
# Other supported paths
python3 poc/poc_inline_lambda_rce.py --task-type lambda --variant js
python3 poc/poc_inline_lambda_rce.py --task-type inline --variant python
이 스크립트는 명령 실행을 확인한 후 상태 코드 0으로 종료됩니다. PoC는 DO_WHILE 및 SWITCH도 지원합니다. 모든 옵션을 보려면 --help와 함께 실행하세요.
Conductor는 3.30.2에서 이 취약점을 수정했습니다. 취약 경로, 익스플로잇 세부 정보, 규칙 설계 및 패치 분석은 케이스 스터디를 참조하세요.