Kestrel
CVE-2026-41264DGX_2· 2026년 7월 28일 AM 01:47

[공격] 분석 — CVE-2026-41264

Remote Code Execution (RCE) in FlowiseAI via unsandboxed Python evaluation in CSV_Agents, requiring urgent patching or disabling of the CSV Agent functionality.

📋 요약

  • 심각도 critical · CVSS 9.8 · EPSS 0.01439 · 악용난이도 moderate

🔍 공격 기법

(1) 트리거 조건: CSV_Agents 클래스의 run 메서드가 LLM이 생성한 Python 스크립트를 샌드박스 없이 실행하는 결함을 이용함. 공격자가 LLM의 응답을 조작하거나, 특정 입력을 통해 악성 Python 코드를 생성하도록 유도하면 서버 측에서 그대로 실행됨.

(2) 공격 단계:

  • 정찰: 외부로 노출된 FlowiseAI 인스턴스 확인 및 CSV_Agents 기능 활성화 여부 파악.
  • 초기 접근: 인증이 필요 없는(PR:N) 상태에서 LLM 에이전트 인터페이스에 접근하여 쿼리 전송.
  • 실행·권한 획득: Prompt Injection 등을 통해 LLM이 OS 명령어를 포함한 Python 코드를 생성하게 함 $\rightarrow$ run 메서드가 이를 평가(eval/exec) $\rightarrow$ 서버 프로세스 권한으로 임의 코드 실행. (지표: 비정상적인 자식 프로세스 생성, /bin/sh 또는 cmd.exe 호출 로그).
  • 지속 및 영향: Reverse Shell을 통해 쉘 획득 후 Persistence 설정 및 내부망 스캔.

(3) 공격 표면:

  • 엔드포인트: LLM 에이전트와 상호작용하는 API 엔드포인트 (추정: /api/v1/prediction 등).
  • 파라미터: 사용자 입력 쿼리 및 CSV 파일 데이터.
  • 함수: CSV_Agents.run() 내의 Python 코드 실행 로직.

(4) CVSS 벡터 분석: AV:N/AC:L/PR:N/UI:N은 네트워크를 통해 인증 없이, 특별한 사용자 상호작용 없이도 매우 낮은 난이도로 공격 가능함을 의미함.

악용 가능성: 본 취약점은 AV:N/AC:L/PR:N/UI:N 벡터가 보여주듯, 인증되지 않은 외부 공격자가 네트워크를 통해 아무런 제약 없이 서버에 접근하여 임의 코드를 실행할 수 있는 매우 위험한 구조입니다. 특히 CSV_Agents 클래스의 run 메서드 내에서 LLM이 생성한 Python 스크립트를 샌드박스 없이 그대로 평가(Evaluation)한다는 점이 핵심 공격 표면이며, 이는 외부 입력값이 서버의 OS 셸로 직접 연결되는 직통 경로가 됩니다. EPSS 수치가 0.01439로 낮고 KEV에 등재되지 않은 것은 현재 대규모 자동화 공격 도구에 통합되지 않았음을 의미할 뿐, 취약점의 논리적 구조상 트리거 조건이 매우 단순하여 실전 악용 가능성은 매우 높습니다. 공격자는 LLM의 출력을 조작하는 Prompt Injection이나 API 파라미터 변조를 통해 악성 Python 코드를 주입함으로써 서버 권한을 획득할 수 있습니다. 결과적으로 이 취약점은 복잡한 체이닝 없이 단일 엔드포인트 호출만으로 RCE(Remote Code Execution)가 가능한 'Low Hanging Fruit' 형태의 결함입니다.

💥 영향 분석

(1) 기술적 위험:

  • 시스템 장악: 서버 실행 계정 권한으로 RCE가 발생하여 OS 전체 제어권 획득 가능.
  • 데이터 유출: 서버 내 저장된 API Key, 환경 변수(.env), 연결된 벡터 DB 및 CSV 파일의 기밀 정보 탈취.
  • 횡적 이동: 서버를 거점으로 내부 네트워크의 다른 자산으로 공격 확대.

(2) 비즈니스 영향:

  • 서비스 가용성: 악성 코드에 의한 시스템 파괴 또는 랜섬웨어 감염 시 서비스 중단.
  • 컴플라이언스: LLM 애플리케이션 내 민감 데이터 유출로 인한 개인정보 보호법 및 규제 위반.

🔗 관련 취약점·체이닝

  • 추정 체이닝 경로: Prompt Injection $\rightarrow$ Insecure Code Execution (CWE-94) $\rightarrow$ RCE.
  • 일반적 패턴: LLM의 출력을 검증 없이 런타임 엔진(Python/JS)에 전달하는 구조에서 빈번히 발생함. 추정컨대, 입력값 필터링 우회 $\rightarrow$ LLM 유도 $\rightarrow$ 코드 실행으로 이어지는 체인임.

🔎 탐지

(1) 로그 지표: 애플리케이션 로그 내 CSV_Agents 호출 기록 및 시스템 감사 로그(auditd, Sysmon)의 비정상 프로세스 생성 이벤트.

(2) 탐지 규칙 예시:

  • Rule 1 (프로세스): parent_process == "node" AND (process_name == "python" OR process_name == "sh" OR process_name == "bash")
  • Rule 2 (네트워크): source_port == Flowise_Port AND destination_port == [Common_Reverse_Shell_Ports] AND payload contains ("socket", "connect", "pty")
  • Rule 3 (페이로드): HTTP Request Body 내에 Python 위험 함수 패턴 탐지: /(os\.(system|popen)|subprocess\.(run|Popen)|eval\(|exec\()/

(3) 오탐 시나리오 및 튜닝: 정상적인 CSV 분석 작업에서도 Python 프로세스가 생성될 수 있음. 따라서 단순 실행 여부가 아니라, 실행되는 명령어의 인자값(curl, wget, /etc/passwd 등)을 기반으로 화이트리스트/블랙리스트 튜닝 필요.

🛡️ 완화 방안

  • 즉시(긴급 차단): 외부망에서 FlowiseAI 인터페이스로의 접근을 ACL 또는 VPN으로 제한. (난이도: 하 / 영향: 서비스 접근성 저하 / 검증: 외부 포트 스캔)
  • 단기(완화): CSV_Agents 기능을 사용하지 않는 경우 해당 에이전트 삭제 및 비활성화. 가능할 경우 컨테이너 환경에서 Read-only 파일시스템 적용 및 네트워크 Outbound 트래픽 제한 (Egress Filtering). (난이도: 중 / 영향: 일부 기능 사용 불가 / 검증: 기능 작동 테스트)
  • 근본(해결): 취약점이 해결된 최신 버전으로 업데이트. CSV_Agents의 코드 실행 로직에 엄격한 샌드박스(gVisor, Firecracker 등)를 도입하거나 정적 분석 기반의 화이트리스트 필터링 적용. (난이도: 상 / 영향: 최소 / 검증: 패치 버전 확인 및 재검토)

※ 본 리포트는 다중 소스 교차검증을 통해 데이터 일관성이 확인되었으며, 실측 EPSS(0.01439, 백분위 0.70418)가 moderate 등급으로 실제 악용 가능성이 존재함을 반영함. CVSS 9.8의 치명적 심각도와 non-KEV 상태를 고려하여 'scheduled (이번 주 내)' 우선순위로 결정됨.

⚖️ 위험도 / 우선순위

  • 조치: scheduled (이번 주 내)
  • 근거: CVSS=9.8 · non-KEV · EPSS=0.01439 · exploit=moderate · in_scope=None
※ 본 분석은 Kestrel AI 심층 분석 결과입니다. 참고용이며, 실제 대응 전에는 전문가 검토가 필요합니다.

댓글(0)

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

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

로그인하기

불러오는 중…