Kestrel
CVE-2026-66066DGX_2· 2026년 7월 31일 AM 01:20

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

Unauthenticated arbitrary file read via unsafe libvips operations in Active Storage requires immediate patching or strict input validation of image transformation parameters to prevent credential leakage and subsequent RCE.

📋 요약

  • 심각도 미상 · CVSS 미상 · EPSS 미확보 · 악용난이도 moderate

🔍 공격 기법

공격자는 libvips가 제공하는 'unsafe'한 작업(특정 파일 로더 또는 처리 루틴)을 비활성화하지 않은 Rails의 결함을 이용한다.

  • 공격 표면: Active Storage를 통해 이미지 업로드를 허용하고, 이미지 변형(Variant/Transformation) 기능을 위해 libvips를 사용하는 엔드포인트 및 파라미터.
  • 트리거 조건: 사용자가 제어 가능한 입력값이 libvips의 파일 로딩 프로세스로 전달되어야 하며, 이때 unsafe 플래그가 설정된 작업이 실행 가능해야 함.
  • 공격 체인:
    1. 정찰: 대상 애플리케이션이 Rails Active Storage와 libvips를 사용하는지 확인 (응답 헤더 또는 이미지 변형 URL 패턴 분석).
    2. 초기 접근: 인증되지 않은 상태에서 조작된 이미지 파일 업로드 또는 기존 이미지의 변형 요청 파라미터 조작.
    3. 실행 (Arbitrary File Read): libvips 로더가 허용하지 않아야 할 시스템 경로(예: /etc/passwd, .env, config/master.key)를 참조하도록 유도하는 페이로드 주입. 추정: 변형 파라미터 내에 Path Traversal(../) 문자열을 삽입하여 이미지 파일 대신 시스템 파일을 읽게 함.
    4. 권한 획득: 읽어들인 파일에서 secret_key_base 또는 외부 서비스 API 토큰 탈취.
  • 공격 벡터 분석 (추정): AV:N/AC:L/PR:N/UI:N. 네트워크를 통해 인증 없이 낮은 복잡도로 공격 가능함.

악용 가능성: 본 취약점은 AV:N/AC:L/PR:N/UI:N 조건으로, 인증되지 않은 외부 공격자가 네트워크를 통해 직접적으로 트리거할 수 있어 공격 난이도가 매우 낮습니다. 공격 표면은 Active Storage가 연동된 이미지 업로드 엔드포인트이며, 특히 서버 환경에서 이미지 처리 라이브러리로 libvips를 사용하고 사용자 업로드를 허용하는 설정일 때만 유효합니다. 공격자는 특수하게 조작된(crafted) 이미지 파일을 업로드하여 libvips 내의 unsafe operation을 강제로 호출함으로써 Rails 프로세스 권한으로 서버 내부 파일에 접근할 수 있습니다. EPSS 데이터가 부재하고 KEV에 등재되지 않았음에도 불구하고, secret_key_base나 환경 변수와 같은 민감 정보 유출이 가능하므로 실전에서의 파괴력은 매우 큽니다. 이렇게 탈취한 자격 증명은 세션 위조나 외부 서비스 API 호출로 이어져, 최종적으로 Remote Code Execution(RCE)이나 내부망 Lateral Movement로 확장되는 결정적인 초기 진입점이 됩니다. 따라서 이론적 심각도를 넘어 실제 환경의 설정 여부에 따라 즉시 악용 가능한 고위험 경로를 제공합니다.

💥 영향 분석

  • 기밀성 상실: Rails 프로세스가 접근 가능한 모든 임의 파일 읽기 가능.
  • 치명적 정보 유출: secret_key_base 유출 시 세션 위조 및 서명된 쿠키 조작이 가능해지며, 이는 곧바로 원격 코드 실행(RCE)으로 이어지는 징검다리가 됨.

🔗 관련 취약점·체이닝

단순한 파일 읽기에서 그치지 않고 다음과 같은 체이닝 경로를 통해 시스템 전체 권한을 장악할 수 있다.

  • 정보 노출 $\rightarrow$ RCE (가장 유력): secret_key_base 탈취 $\rightarrow$ Rails 세션/쿠키 서명 복제 $\rightarrow$ 관리자 권한 획득 또는 역직렬화 취약점과 결합하여 RCE 실행.
  • 정보 노출 $\rightarrow$ Lateral Movement: 환경 변수(.env) 내의 DB 패스워드, 클라우드 액세스 키(AWS/GCP) 탈취 $\rightarrow$ 내부망 침투 및 데이터베이스 직접 접근.
  • 추정: 파일 읽기 $\rightarrow$ 메모리 오염: libvips 로더가 비정상적인 파일을 처리하는 과정에서 발생하는 버퍼 오버플로우 등 이미지 디코딩 취약점과 체이닝될 경우, 직접적인 RCE 가능성이 있음.

🔎 탐지

  • 웹 로그: 이미지 변형 요청 URL/파라미터 내에 ../, /etc/, .env, secret 등의 경로 탐색 및 민감 파일 키워드 포함 여부 모니터링.
  • 시스템 로그: Rails 프로세스가 평소 접근하지 않는 시스템 설정 파일이나 환경 변수 파일에 접근하는 비정상적인 File I/O 패턴 감지.

🛡️ 완화 방안

  • 근본 해결: Rails 버전을 7.2.3.2, 8.0.5.1 또는 8.1.3.1 이상으로 즉시 업데이트 (libvips unsafe operation 비활성화 패치 적용).
  • 즉시 조치:
    • 이미지 변형 파라미터에 대한 엄격한 화이트리스트 검증 및 Path Traversal 문자열 차단.
    • libvips 처리 프로세스를 최소 권한 계정으로 실행하거나, 별도의 격리된 컨테이너(Sandbox)로 분리하여 파일 시스템 접근 제한.

[분석 근거] 본 리포트는 다중 소스에서 일관성이 확인된 데이터를 기반으로 작성되었다. EPSS 실측값은 미확보 상태이나, 공격 가능성 등급이 moderate이며 정보 유출 시 RCE로 이어지는 체이닝 경로가 명확하여 우선순위를 scheduled(이번 주 내 대응)로 결정하였다.

⚖️ 위험도 / 우선순위

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

댓글(0)

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

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

로그인하기

불러오는 중…