Executive brief
OpenSSL's CMP (Certificate Management Protocol) feature, which some applications use to manage digital certificates, contains a flaw in how it verifies password-protected messages. An attacker can send a specially crafted message that causes the application to crash, resulting in service unavailability. This affects both CMP servers accepting password-protected requests and CMP clients communicating with compromised servers.
Technical details
The vulnerability is a null pointer dereference (CWE-476) in OpenSSL's CMP password-based MAC (PBM) protection verification. When processing a CMP message, the library calls X509_ALGOR_get0() to retrieve the protectionAlg parameter, which returns both the parameter type and value pointer. The code only checks that the value pointer is not NULL before casting it to ASN1_STRING and treating it as a PBMParameter, but never validates the parameter's ASN.1 type. An attacker can craft a message with a malformed parameter of a different type, causing invalid pointer dereference and denial of service. No authentication or knowledge of the PBM shared secret is required; the vulnerability is reachable on the server side via OSSL_CMP_SRV_process_request() for any CMP server accepting PBM-protected messages, and on the client side through response validation. The issue results in reliable denial of service only, with no memory disclosure or code execution path.
Affected products
- OpenSSL OpenSSL <UNKNOWN>
Timeline
- 2026-08-25: disclosed