Kestrel
CVE-2025-9086DGX_2· 2026년 7월 10일 PM 02:40

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

Heap buffer over-read in curl (8.13.0-8.16.0) via malicious cookie path manipulation during HTTP redirection, requiring an update to a patched version.

📋 요약

  • 심각도 high · CVSS 7.5 · EPSS 0.01301 · 악용난이도 moderate

🔍 공격 기법

(1) 트리거 조건

  • https://target에서 secure 속성이 부여된 쿠키가 먼저 설정되어 있어야 함.
  • 이후 동일 호스트의 비보안 프로토콜(http://target)로 리다이렉트되거나 요청이 전송되어야 함.
  • 공격자가 path="/" 와 같이 매우 짧은 경로를 가진 쿠키를 HTTP 응답으로 전달하여, curl의 경로 비교 로직에서 heap buffer boundary를 벗어나 읽게 만드는 Memory-Corruption을 유발함.

(2) 공격 단계

  • 정찰: 타겟이 사용하는 curl 버전 확인 및 HTTPS $\rightarrow$ HTTP 리다이렉션 흐름 분석.
  • 트리거: 1단계로 secure 쿠키를 심고, 2단계로 비보안 HTTP 응답을 통해 짧은 경로(path="/")의 쿠키 설정을 강제함.
  • 실행/권한 획득: Heap over-read 발생. 결과는 두 가지 경로로 갈림:
    • Crash: 프로세스 종료를 통한 서비스 거부(DoS).
    • Logic Bypass: 메모리 상의 인접 데이터가 비교 로직에 영향을 주어, 보안상 무시되어야 할 비보안 쿠키가 기존 secure 쿠키를 덮어쓰게 함. (추정: 이를 통해 세션 하이재킹이나 권한 상승 가능)
  • 후속 피벗: 덮어쓰여진 쿠키(세션 ID 등)를 이용해 인증된 사용자로 위장하여 내부 API 접근.

(3) 공격 표면

  • 프로토콜: HTTP/HTTPS (Cookie 헤더).
  • 엔드포인트: curl을 라이브러리(libcurl)로 사용하는 모든 애플리케이션의 HTTP 요청 처리부.

(4) CVSS 벡터 분석 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H)

  • 네트워크를 통해 인증 없이(PR:N), 사용자 상호작용 없이(UI:N) 공격 가능하며, 낮은 복잡도(AC:L)로 가용성(A:H)에 치명적 영향을 줌.

악용 가능성: 본 취약점은 AV:N/AC:L/PR:N/UI:N 벡터가 나타내듯, 공격자가 특별한 권한이나 사용자 상호작용 없이 네트워크를 통해 원격으로 트리거할 수 있는 낮은 진입 장벽을 가집니다. 실제 공격 표면은 HTTP/HTTPS 프로토콜의 Redirect 메커니즘과 Cookie 처리 로직에 있으며, 특히 secure 플래그가 설정된 쿠키가 비암호화 HTTP 세션으로 전송되는 상황에서 발생합니다. 공격자는 타겟 호스트를 HTTP로 리다이렉트시킨 후, 경로(Path) 값이 /인 동일 이름의 쿠키를 주입하여 curl의 Heap Buffer boundary 외부를 읽게 만드는 Out-of-bounds Read를 유도합니다. EPSS 수치가 0.01301로 낮고 KEV에 등재되지 않은 점은 현재 대규모 자동화 공격이 관찰되지 않았음을 의미하나, 메모리 레이아웃에 따라 Secure 쿠키가 비보안 쿠키로 덮어씌워지는 세션 하이재킹이나 프로세스 크래시(DoS)로 이어질 수 있습니다. 결과적으로 정찰 단계에서 HTTP 리다이렉션 가능 여부를 확인한 후, 조작된 쿠키 값을 전송하여 메모리 비교 로직의 오류를 트리거하는 방식으로 악용될 가능성이 큽니다. 이는 단독으로 완전한 RCE를 달성하기보다, 다른 메모리 오염 취약점과 체이닝하여 정보 유출이나 권한 상승의 교두보로 활용될 위험이 있는 Moderate 수준의 위협입니다.

🔎 탐지

(1) 로그 지표

  • curl 프로세스의 Segmentation Fault 또는 Heap Corruption 관련 Crash dump 로그.
  • 동일 호스트에 대해 HTTPS $\rightarrow$ HTTP 순서로 쿠키가 빈번하게 교체되는 트래픽 패턴.

(2) 탐지 규칙 예시

  • 패턴: HTTP 응답 헤더 중 Set-Cookie 필드에서 경로가 극단적으로 짧은 경우 감시.
    • 정규식: Set-Cookie:.*path="/",
  • 로직: (Event A: HTTPS Set-Cookie with secure) -> (Event B: HTTP Set-Cookie with path="/") 순서의 시퀀스 탐지.

(3) 오탐 가능성 및 감소법

  • 정상적인 서비스에서도 path="/"를 사용할 수 있음. 따라서 단순 패턴보다는 'Secure 쿠키 존재 $\rightarrow$ 비보안 경로 쿠키 주입'이라는 상태 변화(State change) 중심으로 분석하여 오탐을 줄여야 함.

🛡️ 완화 방안

  • 즉시 (긴급 차단):
    • 방화벽/WAF에서 Set-Cookie 헤더에 path="/", 패턴이 포함된 HTTP(80포트) 응답을 일시적으로 차단하거나 경고 알림 설정. (트레이드오프: 정상적인 쿠키 설정 기능 저하 가능성)
  • 단기 (완화):
    • 애플리케이션 레벨에서 HTTPS $\rightarrow$ HTTP 리다이렉션을 금지하고 HSTS(HTTP Strict Transport Security)를 강제하여 비보안 연결 시도를 원천 차단. (트레이드오프: 기존 HTTP 레거시 클라이언트 접속 불가)
  • 근본 (해결):
    • curl을 최신 패치 버전으로 업데이트. 영향 제품인 8.13.0 - 8.16.0 범위를 벗어난 수정 버전 적용. (트레이드오프: 라이브러리 업데이트에 따른 애플리케이션 재빌드 및 테스트 공수 발생)

[분석 근거]
본 리포트는 다중 소스 데이터의 일관성이 확인된 교차검증 결과를 바탕으로 작성되었습니다. 실측 EPSS 값은 0.01301(백분위 0.67084)로 moderate 등급이며, 이는 이론적 심각도(CVSS 7.5)와 별개로 실제 야생에서의 악용 확률이 현재는 낮음을 시사합니다. 따라서 KEV 미등재 및 EPSS 수치를 근거로 우선순위를 scheduled(이번 주 내 대응)로 결정하였습니다.

⚖️ 위험도 / 우선순위

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

댓글(0)

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

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

로그인하기

불러오는 중…