🇰🇷 한글 설명
OpenSSL에서 악의적으로 형식화된 PKCS12 파일 처리 시 NULL 포인터 역참조가 발생하여 애플리케이션이 비정상 종료될 수 있습니다. PKCS12_parse() 등 5개 주요 함수가 영향을 받으며, 신뢰할 수 없는 출처의 파일 처리 시 서비스 거부 공격이 가능합니다.
💡 쉬운 설명
OpenSSL이 특별히 만들어진 파일을 받으면 프로그램이 멈출 수 있습니다. 신뢰할 수 없는 곳에서 받은 인증서/키 파일을 열 때 특히 위험합니다.
🇺🇸 원문 (English)
Issue summary: Processing a maliciously formatted PKCS12 file may lead OpenSSL
to crash leading to a potential Denial of Service attack
Impact summary: Applications loading files in the PKCS12 format from untrusted
sources might terminate abruptly.
A file in PKCS12 format can contain certificates and keys and may come from an
untrusted source. The PKCS12 specification allows certain fields to be NULL, but
OpenSSL does not correctly check for this case. This can lead to a NULL pointer
dereference that results in OpenSSL crashing. If an application processes PKCS12
files from an untrusted source using the OpenSSL APIs then that application will
be vulnerable to this issue.
OpenSSL APIs that are vulnerable to this are: PKCS12_parse(),
PKCS12_unpack_p7data(), PKCS12_unpack_p7encdata(), PKCS12_unpack_authsafes()
and PKCS12_newpass().
We have also fixed a similar issue in SMIME_write_PKCS7(). However since this
function is related to writing data we do not consider it security significant.
The FIPS modules in 3.2, 3.1 and 3.0 are not affected by this issue.
📍 영향받는 시스템
OpenSSL 3.2, 3.1, 3.0 이전 버전 (FIPS 모듈 제외)
⚔️ 공격 벡터
신뢰할 수 없는 출처의 PKCS12 형식 파일(.p12, .pfx)을 OpenSSL API로 처리할 때 공격 가능
🛡️ 대응 방법
OpenSSL을 최신 패치 버전으로 업그레이드하고, 신뢰할 수 없는 출처의 PKCS12 파일 처리 제한
🔧 검증 코드
표시된 OpenSSL 버전이 3.0.0 이상이고 해당 마이너 버전의 최신 패치가 설치되었는지 확인. 공식 보안 권고에서 권장하는 버전 이상이면 패치됨.
openssl version 2>/dev/null | grep -oE '[0-9]+\.[0-9]+\.[0-9]+'