Kestrel
CVE-2026-35188DGX_A· 2026년 8월 3일 AM 01:27

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

CVE-2026-35188 allows a malicious TLS server to trigger a double‑free in OpenSSL 3.6.x clients via crafted OCSP stapling, leading to heap corruption and denial‑of‑service.

📋 요약

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

🔍 공격 기법

  • 트리거 조건: 클라이언트가 OpenSSL 3.6.0‒3.6.3을 사용하고 OCSP stapling(status_request extension)을 활성화한 상태에서, 악의적인 TLS 서버와 네트워크(N) 연결을 시도할 때 발생합니다.
  • 입력·요청: 서버가 TLS 핸드쉐이크 중 CertificateStatus 메시지에 비정상적으로 조작된 OCSP 응답을 포함시켜 전송합니다. 이 응답이 클라이언트의 인증서 검증 루틴으로 전달되면, 내부 구조체가 두 번 해제(double‑free)됩니다.
  • 공격 단계
    1️⃣ 정찰 – 대상 환경에서 OpenSSL 3.6.x 사용 여부와 OCSP stapling 설정을 탐지합니다(예: 구성 파일, 애플리케이션 로그).
    2️⃣ 초기 접근 – 공격자는 악성 TLS 서버를 배포하고, 목표 클라이언트가 해당 서버에 접속하도록 DNS/프록시 위조 등으로 유도합니다.
    3️⃣ 실행 – 조작된 OCSP stapled response를 전송해 double‑free 를 일으킵니다. 복잡도는 AC:H(높은 난이도)이며, 공격자는 낮은 권한(PR:L)만 필요합니다.
    4️⃣ 영향 – 힙 메모리가 손상되어 프로세스가 비정상 종료(Denial‑of‑Service)하거나, 환경에 따라 임의 코드 실행 가능성이 존재하지만 구현 난이도가 높아 실제 RCE는 추정 수준입니다.
  • 공격 표면: TLS 클라이언트 라이브러리 호출(SSL_connect 등), status_request 확장 처리 루틴, OCOCSP 응답 파싱/검증 함수.
  • CVSS 연계: 네트워크 기반(AV:N)·고난이도(AC:H)·낮은 권한 요구(PR:L)·사용자 상호작용 없음(UI:N)·기밀성·무결성·가용성 모두 낮음(C/L/I/L/A/L)으로, 실제 공격에서는 가용성 손실이 주된 결과입니다.

악용 가능성: 이 취약은 네트워크를 통한 원격 공격(AV = Network)이며, 성공하려면 공격자는 TLS 클라이언트가 OCSP stapling을 활성화한 상태에서 악성 서버와의 핸드쉐이크를 강제해야 합니다. CVSS AC = High는 “crafted OCSP stapled response”를 정확히 구성하고, 특정 OpenSSL 버전·구성(예: 메모리 할당 패턴) 등 환경에 맞춰 double‑free 트리거를 재현하는 데 높은 기술적 복잡성이 필요함을 의미합니다. PR = Low는 공격자가 클라이언트 권한이 낮아도 이용 가능하지만, 이는 클라이언트가 해당 서버에 연결하도록 허용되는 일반적인 상황(예: 자동 업데이트·API 호출)에서만 성립합니다. UI = None은 사용자의 직접적인 동작 없이 네트워크 요청만으로 발동되므로, 사용자 피싱 등 추가 단계는 요구되지 않습니다. EPSS 0.00302(≈0.3 %)와 KEV 미등재는 현재 실제 악용 사례가 거의 없으며, 공격 성공 확률이 낮은 편임을 보여주지만, 공개된 취약점 자체가 존재하므로 위험도가 완전히 무시될 수 없습니다. 따라서 주요 공격 표면은 TLS 핸드쉐이크 중 status_request 확장과 OCSP stapled 응답을 파싱·검증하는 코드 경로이며, 이 엔드포인트에 악성 서버가 제공하는 조작된 응답을 전달할 경우 힙 메모리 손상이 발생해 DoS 혹은 환경에 따라 제한적인 임의 코드 실행이 가능하게 됩니다.

💥 영향 분석

  • 성공 시 클라이언트 프로세스가 비정상 종료하여 서비스 이용이 차단됩니다(DoS).
  • 메모리 손상이 심각한 경우, 특정 환경에서 임의 코드 실행 가능성이 존재하나 이는 구현·배포 환경에 크게 좌우되는 고난이도 시나리오입니다.

🔗 관련 취약점·체이닝

  • 유형: CWE‑415(Double Free) → Heap Corruption → Denial of Service / Potential RCE.
  • 가능한 체인: 동일 프로세스 내 메모리 손상을 이용해 기존의 메모리 관리 취약점(CWE‑416 Use After Free)이나 포인터 검증 결함과 연계하면, 공격자는 임시 파일/소켓 핸들 탈취 등 추가 권한 상승을 시도할 수 있습니다.
  • 현재 공개된 다른 CVE와 직접적인 연관은 확인되지 않았으며, 추정: 동일 OpenSSL 버전에서 발견된 메모리 관리 결함과 조합될 경우 공격 복잡도가 감소할 가능성이 있습니다.

🔎 탐지

  • TLS 핸드쉐이크 로그에 CertificateStatus 메시지가 비정상적인 길이·형식(예: 과도하게 큰 OCSP 응답)으로 기록되는 경우 경고를 발생시킵니다.
  • OpenSSL 디버그 레벨에서 double free 혹은 heap corruption 오류가 발생하면 시스템 로그에 OPENSSL_internal_error가 남습니다.

🛡️ 완화 방안

1️⃣ 즉시 조치: OCSP stapling을 비활성화(SSL_CTX_set_status_request 호출 차단)하거나, 해당 옵션이 기본값으로 비활성화된 버전(3.6.x 이전)으로 다운그레이드합니다.
2️⃣ 패치 적용: OpenSSL 공급자가 제공하는 보안 업데이트가 공개될 경우 즉시 적용하십시오. 현재는 공식 패치가 없으므로 모니터링이 필요합니다.
3️⃣ 구성 검토: 클라이언트 애플리케이션에서 SSL_OP_NO_TICKET 등 불필요한 확장 비활성화와 함께, 신뢰할 수 없는 서버에 대한 TLS 연결 제한 정책을 강화합니다.
4️⃣ 모니터링: [우선순위 결정]에 따라 “monitor” 수준으로 취약성을 지속 감시하고, EPSS 0.00302(실제 악용 확률이 낮음)와 교차검증 결과(다중 소스에서 일관성 확인) 를 근거로 위험도를 재평가하십시오.

⚖️ 위험도 / 우선순위

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

댓글(0)

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

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

로그인하기

불러오는 중…