Description
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.
Mitigation
Minimal update. May introduce new vulnerabilities or breaking changes.
|
 debian 11 | | =1.1.1k-1 || =1.1.1k-1+deb11u1 || =1.1.1k-1+deb11u2 || =1.1.1l-1 || =1.1.1m-0+deb11u1 || =1.1.1m-1 || =1.1.1n-0+deb11u1 || =1.1.1n-0+deb11u2 || =1.1.1n-0+deb11u3 || =1.1.1n-0+deb11u4 || =1.1.1n-0+deb11u5 || =1.1.1n-0+deb11u6 || =1.1.1n-1 || =1.1.1o-1 || =1.1.1v-0~deb11u1 || =1.1.1w-0+deb11u1 || =1.1.1w-0+deb11u2 || =1.1.1w-0+deb11u3 || =1.1.1w-0+deb11u4 || =1.1.1w-0+deb11u5 || =1.1.1w-0+deb11u6 || =1.1.1w-0+deb11u7 || =1.1.1w-0+deb11u8 || =1.1.1w-0~deb11u1 || =3.0.0-1 || =3.0.0~~alpha1-1 || =3.0.0~~alpha13-1 || =3.0.0~~alpha13-2 || =3.0.0~~alpha15-1 || =3.0.0~~alpha16-1 || =3.0.0~~alpha3-1 || =3.0.0~~alpha4-1 || =3.0.0~~beta1-1 || =3.0.0~~beta2-1 || =3.0.1-1 || =3.0.10-1 || =3.0.10-1~deb12u1 || =3.0.11-1 || =3.0.11-1~deb12u1 || =3.0.11-1~deb12u2 || =3.0.12-1 || =3.0.12-2 || =3.0.13-1~deb12u1 || =3.0.13-1~deb12u2 || =3.0.14-1~deb12u1 || =3.0.14-1~deb12u2 || =3.0.15-1~deb12u1 || =3.0.16-1~deb12u1 || =3.0.17-1~deb12u1 || =3.0.17-1~deb12u2 || =3.0.17-1~deb12u3 || =3.0.18-1~deb12u1 || =3.0.18-1~deb12u2 || =3.0.19-1~deb12u1 || =3.0.19-1~deb12u2 || =3.0.2-1 || =3.0.20-1~deb12u1 || =3.0.20-1~deb12u2 || =3.0.3-1 || =3.0.3-2 || =3.0.3-2+ia64 || =3.0.3-3 || =3.0.3-4 || =3.0.3-5 || =3.0.3-6 || =3.0.3-7 || =3.0.3-8 || =3.0.4-1 || =3.0.4-2 || =3.0.5-1 || =3.0.5-2 || =3.0.5-3 || =3.0.5-4 || =3.0.7-1 || =3.0.7-2 || =3.0.8-1 || =3.0.9-1 || =3.1.0-1 || =3.1.1-1 || =3.1.2-1 || =3.1.3-1 || =3.1.4-1 || =3.1.4-2 || =3.1.5-1 || =3.1.5-1.1 || =3.1.5-1.1+hurd.1 || =3.2.0-1 || =3.2.0-2 || =3.2.1-1 || =3.2.1-1.1~exp1 || =3.2.1-2 || =3.2.1-3 || =3.2.2-1 || =3.3.0-1 || =3.3.0~beta1-1 || =3.3.1-1 || =3.3.1-2 || =3.3.1-5 || =3.3.1-6 || =3.3.1-7 || =3.3.2-1 || =3.3.2-2 || =3.4.0-1 || =3.4.0-2 || =3.4.0~~beta1-1 || =3.4.0~~beta1-2 || =3.4.1-1 || =3.5.0-1 || =3.5.0-2 || =3.5.0-3 || =3.5.0~~alpha1-1 || =3.5.0~~beta1-1 || =3.5.1-1 || =3.5.2-1 || =3.5.3-1 || =3.5.4-1 || =3.5.4-1~deb13u1 || =3.5.4-1~deb13u2 || =3.5.5-1 || =3.5.5-1~deb13u1 || =3.5.5-1~deb13u2 || =3.5.6-1~deb13u1 || =3.5.6-1~deb13u2 || =3.5.7-1~deb13u1 || =3.5.7-1~deb13u2 || =3.6.0-1 || =3.6.0-2 || =3.6.0~~alpha1-1 || =3.6.0~~beta1-1 || =3.6.1-1 || =3.6.1-2 || =3.6.1-3 || =3.6.2-1 || =3.6.3-1 || =3.6.4-1 || =4.0.0-1 || =4.0.0~alpha1-1 || =4.0.0~beta1-1 || =4.0.1-1 || =4.0.2-1 | - |
 debian 12 | | =3.0.10-1 || =3.0.10-1~deb12u1 || =3.0.11-1 || =3.0.11-1~deb12u1 || =3.0.11-1~deb12u2 || =3.0.12-1 || =3.0.12-2 || =3.0.13-1~deb12u1 || =3.0.13-1~deb12u2 || =3.0.14-1~deb12u1 || =3.0.14-1~deb12u2 || =3.0.15-1~deb12u1 || =3.0.16-1~deb12u1 || =3.0.17-1~deb12u1 || =3.0.17-1~deb12u2 || =3.0.17-1~deb12u3 || =3.0.18-1~deb12u1 || =3.0.18-1~deb12u2 || =3.0.19-1~deb12u1 || =3.0.19-1~deb12u2 || =3.0.20-1~deb12u1 || =3.0.20-1~deb12u2 || =3.0.9-1 || =3.1.0-1 || =3.1.1-1 || =3.1.2-1 || =3.1.3-1 || =3.1.4-1 || =3.1.4-2 || =3.1.5-1 || =3.1.5-1.1 || =3.1.5-1.1+hurd.1 || =3.2.0-1 || =3.2.0-2 || =3.2.1-1 || =3.2.1-1.1~exp1 || =3.2.1-2 || =3.2.1-3 || =3.2.2-1 || =3.3.0-1 || =3.3.0~beta1-1 || =3.3.1-1 || =3.3.1-2 || =3.3.1-5 || =3.3.1-6 || =3.3.1-7 || =3.3.2-1 || =3.3.2-2 || =3.4.0-1 || =3.4.0-2 || =3.4.0~~beta1-1 || =3.4.0~~beta1-2 || =3.4.1-1 || =3.5.0-1 || =3.5.0-2 || =3.5.0-3 || =3.5.0~~alpha1-1 || =3.5.0~~beta1-1 || =3.5.1-1 || =3.5.2-1 || =3.5.3-1 || =3.5.4-1 || =3.5.4-1~deb13u1 || =3.5.4-1~deb13u2 || =3.5.5-1 || =3.5.5-1~deb13u1 || =3.5.5-1~deb13u2 || =3.5.6-1~deb13u1 || =3.5.6-1~deb13u2 || =3.5.7-1~deb13u1 || =3.5.7-1~deb13u2 || =3.6.0-1 || =3.6.0-2 || =3.6.0~~alpha1-1 || =3.6.0~~beta1-1 || =3.6.1-1 || =3.6.1-2 || =3.6.1-3 || =3.6.2-1 || =3.6.3-1 || =3.6.4-1 || =4.0.0-1 || =4.0.0~alpha1-1 || =4.0.0~beta1-1 || =4.0.1-1 || =4.0.2-1 | - |
 debian 13 | | =3.5.1-1 || =3.5.1-1+deb13u1 || =3.5.2-1 || =3.5.3-1 || =3.5.4-1 || =3.5.4-1~deb13u1 || =3.5.4-1~deb13u2 || =3.5.5-1 || =3.5.5-1~deb13u1 || =3.5.5-1~deb13u2 || =3.5.6-1~deb13u1 || =3.5.6-1~deb13u2 || =3.5.7-1~deb13u1 || >=0 <3.5.7-1~deb13u2 | 3.5.7-1~deb13u2 |
 alpine v3.22 | | | 3.5.8-r0 |
 alpine v3.23 | | | 3.5.8-r0 |
 alpine v3.24 | | | 3.5.8-r0 |
 rpm rhel9 | | - | - |
 rpm rhel10 | | - | - |
 rpm rhel9 | | - | - |
 debian 14 | | =3.5.1-1 || =3.5.2-1 || =3.5.3-1 || =3.5.4-1 || =3.5.4-1~deb13u1 || =3.5.4-1~deb13u2 || =3.5.5-1 || =3.5.5-1~deb13u1 || =3.5.5-1~deb13u2 || =3.5.6-1~deb13u1 || =3.5.6-1~deb13u2 || =3.5.7-1~deb13u1 || =3.5.7-1~deb13u2 || =3.6.0-1 || =3.6.0-2 || =3.6.0~~alpha1-1 || =3.6.0~~beta1-1 || =3.6.1-1 || =3.6.1-2 || =3.6.1-3 || =3.6.2-1 || =3.6.3-1 || =3.6.4-1 || =4.0.0-1 || =4.0.0~alpha1-1 || =4.0.0~beta1-1 || =4.0.1-1 || =4.0.2-1 | - |