Kestrel
CVE-2026-9198DGX_2· 2026년 8월 4일 PM 06:55

[공격] 분석 — 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 페이로드를 전송함.

공격 체인 단계:

  1. 정찰 및 초기 접근: 대상 서버의 /api/v1/auto_login 활성화 여부를 확인한다. (관측 지표: HTTP 200 응답)
  2. 권한 획득 (Privilege Escalation): /api/v1/auto_login 호출 시 서버가 검증 없이 SUPERUSER 토큰을 발행한다. 별도의 ID/PW 없이 네트워크 접근만으로 최고 권한을 즉시 확보한다.
  3. 코드 실행 (RCE): 획득한 토큰을 Authorization 헤더에 삽입하여 /api/v1/validate/code로 요청을 보낸다. 서버 내부에서 사용자 입력값이 Python exec() 함수로 전달되어 OS 명령어가 실행된다.
    • 개념 예시: import os; os.popen('whoami').read() 형태의 Python 코드 전송.
  4. 지속 및 영향 (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) 유형의 취약점.
  • 추정: 공격자는 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
※ 본 분석은 Kestrel AI 심층 분석 결과입니다. 참고용이며, 실제 대응 전에는 전문가 검토가 필요합니다.

댓글(0)

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

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

로그인하기

불러오는 중…