🇰🇷 한글 설명
OpenSSL의 PKCS#12 파일 파싱 코드에서 ASN1_TYPE 타입을 검증하지 않고 접근할 때 발생하는 NULL 포인터 역참조 취약점입니다. 악의적으로 조작된 PKCS#12 파일 처리 시 0x00-0xFF 영역의 무효한 메모리 주소에 접근하여 애플리케이션 충돌(DoS)을 야기합니다.
💡 쉬운 설명
OpenSSL이 특수한 형태의 파일을 처리할 때 메모리 주소를 잘못 읽어 프로그램이 비정상 종료되는 결함입니다. 공격자가 악의적인 파일을 보내면 애플리케이션이 중단됩니다.
🇺🇸 원문 (English)
Issue summary: An invalid or NULL pointer dereference can happen in
an application processing a malformed PKCS#12 file.
Impact summary: An application processing a malformed PKCS#12 file can be
caused to dereference an invalid or NULL pointer on memory read, resulting
in a Denial of Service.
A type confusion vulnerability exists in PKCS#12 parsing code where
an ASN1_TYPE union member is accessed without first validating the type,
causing an invalid pointer read.
The location is constrained to a 1-byte address space, meaning any
attempted pointer manipulation can only target addresses between 0x00 and 0xFF.
This range corresponds to the zero page, which is unmapped on most modern
operating systems and will reliably result in a crash, leading only to a
Denial of Service. Exploiting this issue also requires a user or application
to process a maliciously crafted PKCS#12 file. It is uncommon to accept
untrusted PKCS#12 files in applications as they are usually used to store
private keys which are trusted by definition. For these reasons, the issue
was assessed as Low severity.
The FIPS modules in 3.5, 3.4, 3.3 and 3.0 are not affected by this issue,
as the PKCS12 implementation is outside the OpenSSL FIPS module boundary.
OpenSSL 3.6, 3.5, 3.4, 3.3, 3.0 and 1.1.1 are vulnerable to this issue.
OpenSSL 1.0.2 is not affected by this issue.
📍 영향받는 시스템
OpenSSL 1.1.1, 3.0, 3.3, 3.4, 3.5, 3.6 (FIPS 모듈과 1.0.2는 미영향)
⚔️ 공격 벡터
악의적으로 조작된 PKCS#12 파일을 애플리케이션이 처리하도록 유도하여 NULL 포인터 역참조 트리거
🛡️ 대응 방법
각 지원 브랜치의 최신 패치 버전으로 업그레이드 (3.0.14, 3.3.1, 3.4.1, 3.5.1, 3.6.1 이상)
🔧 검증 코드
출력된 버전이 1.1.1, 3.0.x-3.6.x (패치 미적용)이면 취약하며, 권장 이상 버전 또는 1.0.2면 안전합니다.
openssl version | awk '{print $2}'