CVE-2026-42791 Details
Description
Improper Certificate Validation vulnerability in Erlang OTP public_key (pubkey_ocsp module) allows forged OCSP responses signed with an expired responder certificate to be accepted as valid. OCSP response verification in pubkey_ocsp:verify_response/5 and pubkey_ocsp:is_authorized_responder/3 in lib/public_key/src/pubkey_ocsp.erl does not check the validity period (notBefore/notAfter) of the OCSP responder certificate. An attacker who has obtained the private key of an expired CA-designated OCSP responder certificate can forge OCSP responses that Erlang/OTP accepts as valid. This affects TLS clients using OCSP stapling via the ssl application: a malicious or compromised server can present a revoked TLS certificate together with a forged OCSP response signed by an expired responder key, and the client will accept the revoked certificate as valid. It also affects applications calling public_key:pkix_ocsp_validate/5 directly, where the impact depends on the use case — server-side client certificate validation using this API may allow authentication bypass with a revoked client certificate. This issue affects OTP from OTP 27.0 before OTP 29.0.1, OTP 28.5.0.1 and OTP 27.3.4.12, corresponding to public_key from 1.16 before 1.21.1, 1.20.3.1 and 1.17.1.3.
A vulnerability exists in the Erlang OTP public_key module's OCSP response verification process. The issue arises because the verification does not check the validity period of OCSP responder certificates. As a result, an attacker with the private key of an expired CA-designated OCSP responder certificate can forge OCSP responses that are accepted as valid by Erlang/OTP. This vulnerability impacts TLS clients using OCSP stapling via the ssl application, as a malicious server can present a revoked TLS certificate along with a forged OCSP response, leading the client to incorrectly accept the revoked certificate as valid. Additionally, applications that directly use the public_key:pkix_ocsp_validate/5 function may experience authentication bypasses with revoked client certificates, depending on the application's context. This vulnerability affects Erlang OTP versions 27.0 prior to 27.3.4.12, 28.5.0.1, and 29.0.1, corresponding to public_key versions 1.16 prior to 1.17.1.3, 1.20.3.1, and 1.21.1.
Users can update to Erlang/OTP versions 27.3.4.12, 28.5.0.1, or 29.0.1 to address this vulnerability. For applications using the ssl module, OCSP stapling can be disabled or switched to CRL-based revocation checking. Applications that call public_key:pkix_ocsp_validate/5 directly should validate the responder certificate's validity period in their own code before making the call.
Metrics
CVSS 4.0 Severity and Vector Strings:
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
CISA-ADP
Assessed May 27, 2026References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://cna.erlef.org/cves/CVE-2026-42791.html | EEF | Third Party Advisory |
| https://github.com/erlang/otp/commit/7995f1fdaee3da569bb810358ce0f546471d169b | EEF | Patch |
| https://github.com/erlang/otp/commit/b3870e02405c709a872b01ba6086065620cdfe76 | EEF | Patch |
| https://github.com/erlang/otp/security/advisories/GHSA-cjxj-wj6x-3fff | EEF | MitigationVendor Advisory |
| https://osv.dev/vulnerability/EEF-CVE-2026-42791 | EEF | Third Party Advisory |
| https://www.erlang.org/doc/system/versions.html#order-of-versions | EEF | Product |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-295 | Improper Certificate Validation | EEF |
| CWE-672 | Operation on a Resource after Expiration or Release | EEF |
Affected Products
| Product | Versions |
|---|---|
| erlang erlang/otp | >= 27.0, < 27.3.4.12 >= 28.0, < 28.5.0.1 >= 29.0, < 29.0.1 |
CPE
Remediation
| |
Change History
5 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Jul 24, 2026 | CVE Modified | EEF |
| Jun 17, 2026 | CVE Modified | EEF |
| Jun 17, 2026 | CVE Modified | CISA-ADP |
| Jun 2, 2026 | Initial Analysis | [email protected] |
| May 27, 2026 | New CVE Received | EEF |