🇰🇷 한글 설명
OpenSSL의 CMP 비밀번호 기반 보호 검증 과정에서 protectionAlg 매개변수의 ASN.1 타입을 확인하지 않고 잘못된 포인터로 참조하는 취약점이 발견되었습니다. 공격자가 조작된 메시지를 보내면 CMP 서버나 클라이언트가 비정상적인 메모리 참조로 인해 충돌하며 서비스 거부(DoS) 상태에 빠질 수 있습니다.
💡 쉬운 설명
인증 과정에서 데이터의 형식을 제대로 확인하지 않아 발생하는 오류로, 공격자가 특수한 메시지를 보내면 프로그램이 갑자기 멈추게 만들 수 있습니다. 이로 인해 서비스가 중단될 수 있지만, 데이터가 유출되거나 해킹당할 위험은 낮습니다.
🇺🇸 원문 (English)
Issue summary: OpenSSL CMP password based protection verification only
checks whether the protectionAlg parameter was not NULL and not its
ASN.1 type, before treating it as a PBMParameter. A crafted message can
contain a parameter of a different type, which is then dereferenced as an
invalid pointer.
Impact summary: A remote, unauthenticated attacker can crash an application
acting as a CMP server that accepts PBM-protected messages, or a CMP client
talking to a malicious or intercepted CMP server, resulting in a Denial of
Service.
CWE: CWE-476: NULL Pointer Dereference
Description: When verifying the password-based MAC protection of a CMP
message, OpenSSL library reads the protectionAlg algorithm parameter with
X509_ALGOR_get0(), which returns both the parameter type and its value
pointer. The value is then cast to an ASN1_STRING and treated as the
expected PBMParameter after only checking that pointer is not NULL. The
parameter type returned by X509_ALGOR_get0() was never consulted.
This happens during protection verification, before any MAC is computed, so
no knowledge of the PBM shared secret is required; the only precondition is
that PBM verification is reachable. On the server side this is reached from
OSSL_CMP_SRV_process_request() for any application that stands up a CMP
server accepting PBM-protected messages, and on the client side from CMP
response validation against a malicious or on-path (MITM) server. The
reliable consequence is a denial of service; there is no memory disclosure,
no controlled memory write, and no path to code execution. CMP is a
specialized feature that an application must explicitly enable.
FIPS impact: no
As the CMP code lives outside the FIPS module boundary, no FIPS modules
are affected by this CVE.
📍 영향받는 시스템
PBM(Password-Based MAC) 보호 기능이 활성화된 OpenSSL CMP 서버 및 클라이언트 애플리케이션
⚔️ 공격 벡터
조작된 ASN.1 타입을 포함한 CMP 메시지를 서버로 전송하거나, 악의적인 CMP 서버로부터 응답을 받는 방식
🛡️ 대응 방법
OpenSSL을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 OpenSSL 버전을 확인하여 해당 취약점이 해결된 패치 버전인지 제조사의 보안 권고문과 대조하십시오.