[공격] 분석 — CVE-2025-15467
OpenSSL 3.x CMS parsing of AEAD‑encrypted AuthEnvelopedData can overflow a fixed‑size stack buffer via an oversized IV, so apply the latest OpenSSL patch immediately and block untrusted CMS inputs.
📋 요약
- 심각도 high · CVSS 8.8 · EPSS 0.47621 · 악용난이도 moderate
🔍 공격 기법
-
트리거 조건: ASN.1 파라미터에 정상보다 큰 IV(예: AES‑GCM IV = > 16 bytes)를 포함한
AuthEnvelopedData/EnvelopedData구조를 만든 뒤, 이를 AEAD 암호(AES‑GCM 등)와 함께 CMS/PKCS#7 메시지로 인코딩한다. OpenSSL CMS 파서는 해당 IV를 길이 검증 없이 고정 16 bytes 스택 버퍼에memcpy해 스택 오버플로를 일으킨다. -
공격 표면:
SMIME_read_CMS,CMS_decrypt,CMS_verify등 CMS API를 호출하는 모든 서비스·애플리케이션(메일 서버, 파일 검증 도구, 웹 애플리케이션의 S/MIME 처리 등). 특히 네트워크 경로에서 SMTP, IMAP, HTTPS(파일 업로드/REST API) 등을 통해 비신뢰 CMS 블롭을 전송할 수 있다. -
단계 매핑
- 정찰 – 대상 호스트가 OpenSSL 3.0.0‑3.6.1 중 하나를 사용하고, CMS 파싱 기능을 제공하는 서비스(버전 확인은 패키지 매니페스트·헤더·포트 스캔)인지 탐색한다.
- 초기 접근 – 악의적인 CMS 메시지를
Content-Type: application/pkcs7-mime등으로 전송하거나, 피싱 메일에 첨부해 사용자가 열도록 유도한다(UI:R). - 실행 – 파서가 IV 길이를 검증하지 않고 스택에 복사하면서 stack‑based out‑of‑bounds write 발생. CVSS 벡터
AV:N/AC:L/PR:N/UI:R와 일치한다(네트워크 직접 접근, 낮은 난이도, 인증 불필요, 사용자 상호작용 필요). - 권한 획득 – 스택 손상이 성공하면 ROP 가젯을 조합해 임의 코드 실행 가능(플랫폼·컴파일러 보안 옵션에 따라 달라짐). 메모리 보호(ASLR/DEP) 우회가 전제된다.
- 지속·영향 – 성공적인 RCE는 서비스 탈취, 추가 악성 페이로드 설치, 데이터 변조 등을 초래한다. 검증 단계가 없으므로 크래시만으로도 DoS가 즉시 발생한다.
-
관측 지표: OpenSSL 로그에
invalid IV length,CMS parsing failed등 오류; 프로세스 SIGSEGV/ABRT와 코어 덤프; IDS/IPS에서 ASN.1 구조 내 IV 길이 > 16 bytes 탐지(asn1.iv.length > 16). -
실제 악용 가능성: EPSS 0.47621(실측 악용예측)·CVSS 8.8·비 KEV·우선순위 “이번 주 내” 결정에 따라 “moderate” 수준의 원격 코드 실행 위험이 존재한다(다중 소스 교차검증에서 일관성 확인).
악용 가능성: AV가 Network이고 AC가 Low인 만큼 원격에서 네트워크만 연결되면 공격을 시도할 수 있으며, PR이 None이라 별도의 권한이 필요하지 않습니다. 다만 UI가 Required이므로 피해자가 악의적인 CMS(또는 PKCS#7) 메시지를 열어 파싱하도록 유도해야 합니다—예를 들어 S/MIME 서명 메일이나 파일 업로드 서비스에서 해당 데이터를 처리하게 만드는 것이 전제 조건입니다. EPSS 0.47621이라는 수치는 향후 12개월 내에 실제 악용될 확률이 약 48%에 달함을 의미하고, KEV에 등재되지 않았음에도 불구하고 원격 코드 실행 가능성이 존재하므로 이론적 심각도와 별개로 실전 위협으로 간주됩니다. 공격 표면은 AEAD 암호(AES‑GCM 등)를 사용해 IV 파라미터를 포함하는 CMS 구조체를 파싱하는 모든 엔드포인트·함수이며, 특히 메일 서버, 파일 스캐너, 문서 뷰어와 같이 외부 입력을 검증 없이 처리하는 모듈이 대상이 됩니다. 공격자는 과도하게 긴 IV 값을 가진 CMS 메시지를 제작해 고정 크기의 스택 버퍼에 복사하도록 유도함으로써 스택 오버플로우를 일으키고, 인증·태그 검증 이전 단계에서 메모리 손상을 초래합니다. 따라서 난이도는 “네트워크 접근만 있으면 가능하고, 사용자의 단순한 파일 열기/전달 동작만 요구하므로 낮음”으로 평가되며, 실제 악용 가능성은 EPSS 수치가 뒷받침하는 바와 같이 중간 수준(moderate)이라고 볼 수 있습니다.
💥 영향 분석
- 스택 버퍼 오버플로우가 발생하면 서비스 프로세스가 즉시 크래시하여 Denial‑of‑Service가 발생한다.
- 메모리 보호 기법을 우회할 경우 공격자는 원격 코드 실행(RCE) 을 달성해 권한 상승, 데이터 유출·변조, 추가 악성 페이로드 설치 등 광범위한 피해를 입힐 수 있다.
🔗 관련 취약점·체이닝
- 본 결함은 CWE‑121(Stack‑based Buffer Overflow)와 동일한 메모리 손상 패턴을 공유한다.
- 추정: 다른 OpenSSL 메모리 손상 취약점(CVE‑2023‑0216 등)과 연계하면 ROP 가젯 확보·ASLR 우회가 쉬워져 정보 노출 → 메모리 손상 → RCE 체인이 구성될 수 있다.
- FIPS 모듈(버전 3.0‑3.6)은 CMS 구현이 비활성화돼 영향을 받지 않으며, 이를 이용한 임시 회피 방안으로 활용 가능하다.
🔎 탐지
- OpenSSL 로그에
invalid IV length혹은CMS parsing failed가 반복적으로 기록되는 경우. - 시스템 콜 트레이스에서
execve직전 비정상적인mprotect/mmap호출이 나타나면 의심한다. - IDS/IPS에서 ASN.1 파라미터 중 IV 길이가 12 bytes(표준 AES‑GCM)보다 크게 설정된 패킷을 서명(
asn1.iv.length > 16)으로 탐지한다.
🛡️ 완화 방안
- 즉시: OpenSSL 3.x 최신 릴리즈(패치 포함)로 업그레이드한다. FIPS‑validated 빌드는 현재 영향을 받지 않으므로 임시 적용 가능하다.
- 입력 차단: 신뢰할 수 없는 S/MIME·PKCS#7 메시지를 처리하지 않도록 메일 서버·웹 애플리케이션에서 MIME 검사 및 IV 길이(≤ 16 bytes) 제한 정책을 적용한다.
- 보호 강화: 컴파일 옵션
-fstack-protector-strong사용, 시스템‑레벨 ASLR/DEP 활성화, 실행 중인 OpenSSL 프로세스에 대한 메모리 무결성 모니터링 및 코어 덤프 방지 설정을 적용한다.
⚖️ 위험도 / 우선순위
- 조치: scheduled (이번 주 내)
- 근거: CVSS=8.8 · non-KEV · EPSS=0.47621 · exploit=moderate · in_scope=None