[공격] 분석 — CVE-2026-9198
Unauthenticated RCE via a critical API chain (
/api/v1/auto_login$\rightarrow$/api/v1/validate/code) allows immediate full system takeover, necessitating an emergency patch within 24 hours.
📋 요약
- 심각도 critical · CVSS 9.8 · EPSS 0.01886 · 악용난이도 easy · KEV
🔍 공격 기법
공격자는 인증 체계가 완전히 무너진 두 개의 엔드포인트를 직렬로 연결하여 SUPERUSER 권한을 획득하고 OS 명령어를 실행한다. CVSS 벡터 AV:N/AC:L/PR:N/UI:N은 외부망 노출 시 아무런 전제 조건 없이 즉시 공격이 가능함을 의미하며, 이는 기본 배포 환경에서 치명적이다.
공격 표면 및 경로:
- 노출 엔드포인트:
/api/v1/auto_login(인증 우회/토큰 발행),/api/v1/validate/code(코드 실행) - 트리거 조건: HTTP 요청을 통해 관리자 토큰을 무조건적으로 발급받은 후, 해당 토큰으로
exec()함수가 호출되는 API에 Python 페이로드를 전송함.
공격 체인 단계:
- 정찰 및 초기 접근: 대상 서버의
/api/v1/auto_login활성화 여부를 확인한다. (관측 지표: HTTP 200 응답) - 권한 획득 (Privilege Escalation):
/api/v1/auto_login호출 시 서버가 검증 없이SUPERUSER토큰을 발행한다. 별도의 ID/PW 없이 네트워크 접근만으로 최고 권한을 즉시 확보한다. - 코드 실행 (RCE): 획득한 토큰을 Authorization 헤더에 삽입하여
/api/v1/validate/code로 요청을 보낸다. 서버 내부에서 사용자 입력값이 Pythonexec()함수로 전달되어 OS 명령어가 실행된다.- 개념 예시:
import os; os.popen('whoami').read()형태의 Python 코드 전송.
- 개념 예시:
- 지속 및 영향 (Post-Exploitation): 리버스 쉘을 생성하여 인터랙티브 쉘을 확보한다. 특히 이 서버를 내부망 진입을 위한 Pivot 포인트로 활용하여 횡적 이동(Lateral Movement)을 시도할 가능성이 매우 높다.
악용 가능성: 본 취약점은 인증되지 않은 외부 공격자가 네트워크를 통해 직접적으로 시스템 권한을 획득할 수 있는 구조로, 실전 악용 가능성이 매우 높습니다. CVSS 벡터(AV:N/AC:L/PR:N/UI:N)가 보여주듯 별도의 사전 권한이나 사용자 상호작용 없이도 공격이 가능하며, 특히 EPSS 0.01886의 수치와 KEV 등재 사실은 이미 야생에서 실제 공격 사례가 확인된 '검증된 위협'임을 입증합니다.
공격 표면은 외부로 노출된 /api/v1/auto_login과 /api/v1/validate/code 엔드포인트에 집중되어 있습니다. 공격자는 먼저 auto_login API를 통해 인증 절차 없이 SUPERUSER 권한의 토큰을 즉시 발급받아 초기 접근 및 권한 상승 단계를 한 번에 통과합니다. 이후 획득한 고권한 토큰을 이용해 validate/code 엔드포인트로 임의의 Python 코드를 전송하며, 서버 내부에서 이를 exec() 함수로 처리하는 과정에서 제약 없는 원격 코드 실행(RCE)이 트리거됩니다. 결과적으로 정찰 단계에서 API 엔드포인트 노출만 확인되면, 인증 우회와 코드 실행이 단 두 단계의 체이닝으로 이어지는 매우 단순하고 치명적인 공격 경로를 가집니다.
💥 영향 분석
- 시스템 완전 장악:
SUPERUSER권한과 RCE의 결합으로 OS 수준의 제어권 탈취 및 데이터 전량 유출. - 내부망 교두보화: 외부 노출된 Langflow 서버를 통해 내부 네트워크의 다른 자산으로 공격을 확장하는 최적의 진입점으로 활용됨.
🔗 관련 취약점·체이닝
본 취약점은 '인증 메커니즘 부재'와 '안전하지 않은 함수 사용'이 결합된 전형적인 권한 상승 체이닝 패턴이다.
- 체이닝 경로:
Broken Authentication (인증 결함)$\rightarrow$Privilege Escalation (권한 상승)$\rightarrow$Arbitrary Code Execution (임의 코드 실행). - 상세 분석:
- 1단계:
/api/v1/auto_login에서 발생하는 인증 우회 및 권한 오남용 결함. - 2단계: 입력값 검증 없이 Python
exec()를 사용하는 CWE-94 (Improper Control of Generation of Code) 유형의 취약점.
- 1단계:
- 추정: 공격자는 RCE 성공 후, 컨테이너 환경일 경우 호스트 OS 권한 획득을 위해 Container Escape 취약점과 추가 체이닝을 시도할 것으로 보인다. 또한, 내부망 전용 환경이라 하더라도 외부에서 침투한 다른 경로를 통해 이 API 체인을 발견하면 즉시 권한 상승 수단으로 활용할 것이다.
🔎 탐지
- 시퀀스 분석: 동일 IP에서
/api/v1/auto_login호출 직후 매우 짧은 시간 내에/api/v1/validate/code를 연속 호출하는 비정상 패턴 감시. - 페이로드 시그니처: HTTP Body 내
import os,subprocess,socket,eval(),os.system()등 Python 위험 함수 키워드 탐지. - 로그 모니터링:
/api/v1/auto_login을 통한SUPERUSER토큰 발행 로그 및 해당 토큰의 비정상적 API 호출 이력 확인.
🛡️ 완화 방안
- 즉시 조치: WAF 또는 네트워크 방화벽에서
/api/v1/auto_login및/api/v1/validate/code엔드포인트에 대한 외부 접근을 즉시 차단하고, 비정상 연속 호출 시 Rate-limit 적용. - 근본 해결: IBM Langflow OSS 최신 패치 버전으로 업데이트하여
exec()기반 로직 제거 및 인증 체계 수정. - 우선순위 결정 근거: 다중 소스 교차검증을 통해 일관성이 확인되었으며, KEV 등재 및 실측 EPSS 0.01886(실제 악용 예측치) 수치는 이론적 위험을 넘어 야생에서 활발히 악용되고 있음을 입증한다. 이에 따라 규칙 기반 우선순위에 의거하여
immediate(24시간 내 조치)로 결정하였다.
⚖️ 위험도 / 우선순위
- 조치: immediate (지금 즉시(24h 내))
- 근거: CVSS=9.8 · KEV · EPSS=0.01886 · exploit=easy · in_scope=None