[분석가] 분석 — CVE-2025-15467
CVE‑2025‑15467 is a high‑severity stack buffer overflow in OpenSSL 3.x CMS parsing of AEAD‑encrypted messages, and organizations should apply the upstream patch immediately or block untrusted CMS inputs.
📋 요약
- 심각도 high · CVSS 8.8 · EPSS 0.47621 · 악용난이도 moderate
🔍 공격 기법
공격자는 AES‑GCM 등 AEAD 암호를 사용한 CMS AuthEnvelopedData/EnvelopedData 구조에 ASN.1 파라미터로 비정상적으로 긴 IV 값을 삽입한다. OpenSSL 3.0.0‑3.6.1 의 CMS 파서는 해당 IV 를 고정 길이 스택 버퍼에 복사할 때 길이 검증을 수행하지 않아, OVERSIZED IV 로 인해 스택 버퍼 오버플로우가 발생한다. 이 단계는 인증·태그 검증 이전에 이루어지므로 키 재료가 없어도 트리거 가능하며, 결과적으로 프로세스 크래시(DoS) 혹은 메모리 보호 우회 시 원격 코드 실행(RCE)으로 이어질 수 있다. 네트워크를 통한 직접 전송이 가능하므로 공격 전제는 AV:N·PR:N·UI:R 이다.
악용 가능성: AV가 Network로 설정돼 있어 공격자는 네트워크를 통해 직접 악의적인 CMS(또는 PKCS#7) 메시지를 전송할 수 있으며, AC가 Low이므로 특별한 기술적 제약 없이도 충분히 구현 가능합니다. PR이 None인 점은 인증이 전혀 필요하지 않음을 의미하므로, 공격자는 대상 애플리케이션에 접근 권한이 없어도 이용이 가능하고, UI가 Required이므로 최종 사용자가 해당 메시지를 열거나 처리하도록 유도해야 합니다(예: 이메일 첨부파일을 열게 함). EPSS 0.47621이라는 높은 실측값은 향후 12개월 내에 실제 악용될 확률이 약 47%임을 나타내며, KEV에 등재되지 않았음에도 불구하고 이론적 심각도와 별개로 현실적인 위협으로 간주됩니다. 트리거 조건은 AEAD 파라미터(특히 IV)의 길이를 조작한 CMS 메시지를 제공하는 것이며, 이를 복사하는 스택 버퍼가 고정 크기이므로 오버플로우가 발생합니다. 공격 표면은 AEAD 암호(AES‑GCM 등)를 사용해 CMS/EnvelopedData를 파싱하는 모든 서비스·애플리케이션으로, 대표적으로 S/MIME 이메일 클라이언트, 파일 업로드 엔진, 문서 검증 서버 등이 노출됩니다. 따라서 네트워크 접근이 가능한 공격자는 낮은 난이도로 해당 엔드포인트에 악성 메시지를 전송하고, 사용자가 이를 열도록 유도함으로써 서비스 중단 또는 원격 코드 실행을 시도할 수 있습니다.
💥 영향 분석
- 기술적 위험
- 스택 오버플로우 → 프로세스 비정상 종료 → 서비스 가용성 손실(DoS).
- 메모리 손상이 제어 흐름을 조작할 경우 임의 코드 실행이 가능해져 기밀·무결성 침해 및 시스템 장악 위험이 존재한다.
- 비즈니스 영향
- S/MIME 이메일 게이트웨이, 문서 서명 서비스, 파일 업로드 API 등 신뢰되지 않은 CMS/PKCS‑7 를 처리하는 모든 애플리케이션에서 중단될 경우 SLA 위반·고객 신뢰 하락을 초래한다.
- 가용성 손실 및 잠재적 데이터 유출은 금융·헬스케어 등 규제 산업에서 컴플라이언스 위반으로 이어질 수 있다.
- 영향 제품·노출 규모
- OpenSSL 3.0.0‑3.0.19, 3.1.0‑3.3.6, 3.4.0‑3.4.4, 3.5.0‑3.5.5, 3.6.0‑3.6.1 전 버전이 대상이며, 다중 소스에서 일관성이 확인되어(교차검증: 신뢰도 1.0) 공급망 차원에서 광범위하게 배포된 라이브러리이다.
- FIPS 모듈(3.0‑3.6)은 CMS 구현이 제외돼 영향을 받지 않으므로, 해당 모듈 사용 환경은 상대적으로 안전하다.
- 실제 악용 가능성
- EPSS = 0.47621(백분위 0.98723) 로, 실측값 기준 높은 악용 확률을 보이며, 비록 KEV에 등재되지 않아 야생 사례가 보고되지 않았지만 “moderate” 수준의 exploitability와 CVSS 8.8 점수를 고려하면 신속한 대응이 필요하다(우선순위 결정: scheduled 이번 주 내).
🔗 관련 취약점·체이닝
OpenSSL ASN.1 파싱 과정에서 과거에 보고된 메모리 손상 취약점들과 동일하게 입력 길이 검증 부재가 근본 원인이다. 다른 메모리 오류와 결합될 경우 추가적인 메모리 파괴 단계(예: ROP 체인 구성)로 이어져 원격 코드 실행 가능성을 높일 수 있다.
🔎 탐지
-
OpenSSL 로그에
iv length exceeds혹은CMS parsing error와 유사한 메시지가 기록되는지 모니터링한다. -
IDS/IPS에서 ASN.1 OCTET STRING 길이가 12 bytes(표준 AES‑GCM IV) 초과인 CMS AuthEnvelopedData 패킷을 탐지하는 서명을 적용할 수 있다. 예시:
alert tcp any any -> any 443 (msg:"OpenSSL CVE-2025-15467 oversized IV"; content:"|30 81 ?? 06 09 2A 86 48 86 F7 0D 01 07 02|"; depth:20; byte_test:1,>,12,offset_of_iv; sid:1000001;) -
시스템 콜 레벨에서는 비정상적인
execve직전의 stack pointer 급격 변동을 감시하는 EDR 정책을 추가한다.
🛡️ 완화 방안
- 즉시 조치: AEAD 기반 CMS 파싱 전 IV 길이(≤ 12 bytes) 검증 로직을 삽입하거나, 신뢰되지 않은 CMS/PKCS‑7 입력을 차단한다.
- 패치 적용: OpenSSL 공급자가 제공하는 최신 보안 업데이트를 이번 주 내에 배포한다(우선순위 결정 근거: CVSS 8.8·EPSS 0.47621·exploit moderate). 패치가 불가능한 경우 FIPS 모듈 사용을 고려한다.
- 보호 강화: CMS 파싱 프로세스를 최소 권한 사용자와 컨테이너/샌드박스 환경에서 실행하고, ASLR·DEP·Stack‑Canary 등 메모리 보호 기능을 활성화한다.
- 탐지·대응 체계: 위 IDS 서명 배포와 함께 크래시 로그 수집·자동 알림·프로세스 재시작 워크플로를 구축한다.
⚖️ 위험도 / 우선순위
- 조치: scheduled (이번 주 내)
- 근거: CVSS=8.8 · non-KEV · EPSS=0.47621 · exploit=moderate · in_scope=None