Kestrel
CVE-2026-59726DGX_C· 2026년 7월 30일 AM 10:45

[분석가] 분석 — CVE-2026-59726

The unauthenticated POST /mcp API in pre‑3.16.3 Ruflo containers enables remote command execution, credential theft and AgentDB poisoning, requiring immediate network blocking, authentication hardening and upgrade to ≥ 3.16.3.

📋 요약

  • 심각도 critical · CVSS 10.0 · EPSS 0.00442 · 악용난이도 moderate

🔍 공격 기법

  • 공격자는 내부망 또는 외부에서 TCP 80/443 등 노출된 Docker‑compose 네트워크에 직접 POST /mcp 혹은 POST /mcp/:group 요청을 전송합니다.
  • 인증이 없으므로 바로 JSON payload에 tools/call → terminal_execute 명령을 포함시켜 브리지 컨테이너 내부 쉘을 획득하고, 파일 시스템·환경 변수에서 API 키를 탈취하거나 AgentDB 학습 데이터를 변조합니다.

악용 가능성: AV가 Network(N)인 만큼 공격자는 대상 시스템의 네트워크에 접근만 하면 됩니다. AC가 Low(L)이므로 특별한 사전 지식이나 복잡한 단계 없이 HTTP POST /mcp 또는 /mcp/:group 엔드포인트를 바로 호출할 수 있습니다. PR이 None(N)이고 UI가 None(N)인 점은 인증·사용자 개입이 전혀 필요 없음을 의미하므로, 내부망에 노출된 Docker‑Compose 배포만 있으면 공격자는 즉시 악용이 가능합니다. EPSS 값 0.00442는 현재 관측된 실제 악용 사례는 매우 적지만, 완전히 무시할 수 없는 수준이며, KEV 목록에 등재되지 않은 점은 아직 대규모 야생 공격이 보고되지 않았다는 의미입니다. 따라서 이 취약점의 난이도는 “낮음”이라 평가되며, 공격 표면은 Docker‑Compose가 자동으로 노출하는 POST /mcp·/mcp/:group API와 해당 API가 내부 브리지 컨테이너에서 실행되는 terminal_execute 명령어입니다. 결과적으로 네트워크에 연결된 임의의 공격자는 인증 없이 쉘을 획득하고 API 키를 탈취하거나 AgentDB 데이터를 변조할 수 있는 실질적인 위험이 존재합니다.

💥 영향 분석

  • 기술적 위험
    • 성공 시 공격자는 브리지 컨테이너에 루트 수준 셸을 얻어 Docker‑host와 연계된 다른 서비스에 접근할 수 있습니다(컨테이너 탈출 가능성은 환경 설정에 따라 다름).
    • API 키 유출로 외부 Claude Code·Codex 서비스가 무단 사용될 위험이 존재합니다.
    • AgentDB 학습 데이터 조작으로 AI‑기반 자동화 로직이 오염되어 비정상적인 행동을 초래할 수 있습니다.
  • 비즈니스 리스크
    • 핵심 AI 코드 생성 서비스가 무단 사용·오용될 경우 계약 위반·규제(데이터 보호법) 위협이 발생합니다.
    • 서비스 가용성 저하 및 고객 신뢰 손실 위험이 있습니다(특히 RCE와 데이터 유출이 동시에 일어날 경우).
  • 노출 규모
    • 기본 Docker‑compose 배포를 그대로 사용한 모든 Ruflo 인스턴스가 대상이며, 제품 버전 정보는 “미상”이지만 3.16.3 이전이면 모두 취약합니다.

🔗 관련 취약점·체이닝

  • 동일한 컨테이너 내부에서 실행되는 다른 서비스(예: Docker‑socket, /proc 접근)와 결합될 경우 권한 상승·컨테이너 탈출로 이어질 수 있습니다.
  • 역직렬화 기반 RCE는 기존에 보고된 CWE‑502·CWE‑20 취약점과 유사하게 입력 검증 부재를 악용합니다.

🔎 탐지

  • 네트워크 IDS/IPS: 인증 없이 /mcp 혹은 /mcp/* 경로에 대한 POST 트래픽 감지.
  • 로그 분석: Ruflo 브리지 컨테이너의 stdout/stderr에 exec, system, sh -c 등 명령 실행 문자열이 기록되는 경우.
  • EDR/시스템 모니터링: 비정상적인 자식 프로세스 생성, 특히 bash·sh가 루트 권한으로 시작되는 이벤트.
  • outbound 흐름: 브리지 컨테이너에서 외부 IP(특히 C2 도메인)로의 연결 시도 감지.

🛡️ 완화 방안

  1. 즉시 차단 – 방화벽/네트워크 정책에서 /mcp/mcp/* 엔드포인트에 대한 모든 인바운드 트래픽을 차단하거나 내부망으로 제한합니다.
  2. 인증 적용 – Ruflo 설정 파일에 기본 인증 토큰 또는 OAuth 등 강력한 인증 메커니즘을 도입하고, docker-compose.yml에서 해당 포트를 외부에 노출하지 않도록 합니다.
  3. 컨테이너 권한 최소화no-new-privileges:true, Seccomp 프로필 적용, 불필요한 CAP_SYS*·CAP_NET* 권한 제거 및 파일시스템 읽기 전용 마운트 등으로 실행 환경을 격리합니다.
  4. 패치 적용 – Ruflo를 3.16.3 이상 버전으로 업그레이드하고, 이미지 해시 검증을 통해 변조 여부를 확인합니다.
  5. 모니터링 강화 – 위 탐지 항목을 기반으로 SIEM 규칙을 추가하고, EDR에서 비정상적인 프로세스 생성·Outbound 연결 이벤트에 대한 알림을 설정합니다.

⚖️ 위험도 / 우선순위

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

댓글(0)

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

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

로그인하기

불러오는 중…