Kestrel
CVE-2026-35188DGX_2· 2026년 7월 27일 PM 05:58

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

A double-free vulnerability in OpenSSL's OCSP stapling allows a malicious server to cause DoS or potential RCE via crafted TLS responses, requiring an update beyond version 3.6.3 if OCSP stapling is enabled.

📋 요약

  • 심각도 medium · CVSS 5.0 · EPSS 0.00302 · 악용난이도 hard

🔍 공격 기법

(1) 트리거 조건: TLS Client가 status_request 확장 기능을 통해 OCSP Stapling을 요청하고, 악의적인 서버가 조작된(crafted) OCSP 응답을 전달할 때 발생함. 클라이언트의 인증서 검증 경로에서 동일한 메모리 영역을 두 번 해제하는 Double-Free 결함을 유발함.

(2) 공격 단계:

  • 정찰: 대상 Client가 OpenSSL 3.6.0~3.6.3 버전을 사용하며 OCSP Stapling 기능이 활성화되어 있는지 확인.
  • 초기접근: 공격자가 제어하는 악의적인 서버로 TLS 연결을 유도 (Client $\rightarrow$ Server).
  • 실행: 서버가 status_request 확장에 대응하여 조작된 OCSP 응답 페이로드를 전송.
  • 영향: Client 내부에서 Double-Free 발생 $\rightarrow$ Heap Memory 오염 $\rightarrow$ 프로세스 크래시(DoS) 또는 추정: 힙 레이아웃 조작을 통한 임의 코드 실행(RCE).

(3) 공격 표면: TLS Handshake 과정의 status_request 확장 필드 및 OCSP 응답 데이터.

(4) CVSS 벡터 분석:

  • AV:N (Network): 네트워크를 통해 원격으로 트리거 가능.
  • AC:H (High): Double-Free를 이용한 RCE는 힙 상태에 따라 매우 복잡하며 환경 의존적임.
  • PR:L (Low): 공격자가 서버 역할을 수행해야 하므로 최소한의 권한(서버 제어권) 필요.
  • UI:N (None): 사용자 상호작용 없이 TLS 연결만으로 가능.

악용 가능성: 본 취약점은 공격 난이도가 매우 높은 hard 등급으로, 공격자가 제어하는 악성 서버에 대상 클라이언트가 접속해야 하는 AV:N 환경을 전제로 합니다. 특히 OCSP stapling 기능이 기본적으로 비활성화되어 있고, 정교하게 조작된 TLS status_request 확장 응답을 통해 double-free를 유도해야 하므로 공격 복잡도가 매우 높습니다(AC:H). EPSS 수치가 0.00302로 낮고 KEV에 등재되지 않은 점은 이론적 위험성에 비해 실제 야생(In-the-wild)에서의 악용 사례가 드물며, 실행 가능한 익스플로잇 구현이 까다롭다는 것을 뒷받침합니다. 공격 표면은 TLS 핸드셰이크 과정 중 서버가 클라이언트에 전달하는 OCSP stapled response 파라미터에 집중되어 있습니다. 실전 관점에서 double-free를 통한 RCE(원격 코드 실행)는 힙 메모리 레이아웃 제어 등 환경 의존성이 극심하여 매우 어렵지만, 서비스 프로세스를 즉시 종료시키는 DoS 공격은 상대적으로 달성 가능성이 높습니다. 결과적으로 이 취약점은 특정 설정이 활성화된 클라이언트를 대상으로 하는 정밀 타격형 공격 시나리오에서만 제한적으로 악용될 가능성이 큽니다.

💥 영향 분석

(1) 기술적 위험:

  • 서비스 중단(DoS): 가장 즉각적이고 실현 가능한 위협으로, Client 프로세스의 비정상 종료 유발.
  • 시스템 장악(RCE): 이론적으로 가능하나 난이도가 매우 높음. 성공 시 해당 프로세스 권한의 코드 실행 가능.

(2) 비즈니스 영향:

  • 가용성 저하: 중요 서비스의 TLS 클라이언트 모듈이 크래시될 경우 서비스 전체 중단 위험.
  • 신뢰도 하락: 보안 라이브러리의 메모리 오염 취약점으로 인한 인프라 신뢰성 문제 발생.

🔗 관련 취약점·체이닝

(1) 유형 수준 체이닝:

  • 추정: Memory-Corruption $\rightarrow$ Heap Spraying/Grooming $\rightarrow$ Arbitrary Code Execution. Double-Free 단독으로는 DoS에 그치기 쉬우나, 메모리 레이아웃을 정밀하게 제어하는 기법과 체이닝될 경우 RCE로 확장됨.
  • 추정: TLS Handshake Manipulation $\rightarrow$ Logic Error in Certificate Verification $\rightarrow$ Double-Free. 인증서 검증 로직의 상태 머신 오류가 메모리 관리 실수로 이어지는 패턴임.

🔎 탐지

(1) 로그 지표: OpenSSL 라이브러리를 사용하는 애플리케이션의 Segmentation Fault (SIGSEGV) 또는 Heap Corruption 관련 코어 덤프 발생 빈도 급증.

(2) 탐지 규칙 예시:

  • 로직: TLS Handshake 중 status_request 확장 응답의 크기가 비정상적으로 크거나, 표준 OCSP 구조를 벗어난 비정상적인 필드 값이 포함된 패킷 모니터링.
  • 패턴 (IDS/IPS): TLS Server Hello $\rightarrow$ Certificate Status extension 내의 비정상적 데이터 길이 체크.

(3) 오탐 시나리오: 네트워크 불안정으로 인한 패킷 손실이나 정상적인 OCSP 응답 지연을 공격으로 오인할 수 있음. 특정 서버 IP에서 반복적으로 Client 크래시가 발생하는지 상관분석하여 튜닝 필요.

🛡️ 완화 방안

  • 즉시(긴급 차단): OCSP Stapling 기능 비활성화. (난이도: 하 / 영향: 인증서 상태 확인 지연 가능성 / 검증: 설정 파일 및 소스코드 내 status_request 옵션 확인)
  • 단기(완화): 신뢰할 수 없는 외부 서버로의 TLS 연결 제한 또는 네트워크 레벨에서 비정상적인 TLS 확장 필드 필터링. (난이도: 중 / 영향: 서비스 가용성 일부 제한 / 검증: 패킷 캡처를 통한 차단 확인)
  • 근본(해결): OpenSSL 3.6.4 이상 버전으로 업데이트. (난이도: 중 / 영향: 라이브러리 의존성 재검토 필요 / 검증: openssl version 명령어로 버전 확인)

[파이프라인 근거] 본 분석은 다중 소스 데이터의 일관성이 확인된 결과(신뢰도 1.0)를 바탕으로 합니다. 실측 EPSS 값인 0.00302와 낮은 백분위(0.22451)는 현재 실제 야생에서의 악용 사례가 매우 드물며, RCE 달성 난이도가 'hard'임을 뒷받침합니다. 따라서 CVSS 5.0과 non-KEV 상태를 종합하여 우선순위를 'monitor'로 결정하였습니다.

⚖️ 위험도 / 우선순위

  • 조치: monitor (모니터링)
  • 근거: CVSS=5.0 · non-KEV · EPSS=0.00302 · exploit=hard · in_scope=None
※ 본 분석은 Kestrel AI 심층 분석 결과입니다. 참고용이며, 실제 대응 전에는 전문가 검토가 필요합니다.

댓글(0)

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

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

로그인하기

불러오는 중…