Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconObtain expired OCSP responder private key
-
DeliveryForge OCSP response for target revoked certificate
-
ExploitControl or compromise TLS server to inject forged staple
-
InstallClient initiates TLS handshake with OCSP stapling enabled
-
C2Erlang OTP skips responder cert validity check
-
ExecuteRevoked certificate accepted as valid
-
ImpactAuthentication bypass achieved
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V12 - Secure Communication Certificate validation
|
| Exploitation Conditions | Exploitation requires that the targeted Erlang/OTP application has OCSP stapling explicitly enabled in the ssl application's TLS client configuration (it is not enabled by default), or that the application calls public_key:pkix_ocsp_validate/5 directly. Beyond the deployment configuration requirement, the attacker must possess the private key of a CA-designated OCSP responder certificate that has already expired-a significant precondition that requires either a prior PKI compromise, access to retired CA infrastructure, or a decommissioned HSM. The attack also requires the attacker to control or compromise the TLS server being contacted by the victim client, so that a forged OCSP staple can be injected into the TLS handshake. Exploitation is not automatable at scale (SSVC: no) due to these prerequisites. What limits exploitation: OCSP stapling is non-default in OTP; possession of an expired responder private key is a rare attacker capability; and the attacker must be positioned as or compromise the TLS server the client contacts. CVSS PR:N confirms no authentication to the target system is required once the above preconditions are met. |
| Impact | The CVSS 4.0 score of 6.3 (Medium) with vector AV:N/AC:H/AT:P/PR:N/UI:N reflects a network-reachable flaw requiring no authentication, but with high attack complexity and the presence of specific deployment prerequisites, both of which significantly limit real-world exploitation. The AT:P (Attack Requirements: Present) metric aligns with the technical requirement that an attacker must control or compromise a TLS server presenting a forged OCSP staple, and the AC:H complexity corresponds to the prerequisite of possessing the private key of an expired OCSP responder certificate-a non-trivial precondition. SSVC independently rates the vulnerability as not automatable with only partial technical impact, consistent with the CVSS assessment. Confidentiality impact is rated none; only integrity and scope-changed system integrity are partially affected, reflecting the nature of the bypass (accepting a revoked cert) rather than direct data exfiltration. No EPSS data was provided in the input, but given SSVC exploitation status of 'none,' CISA KEV absence, and the high attack complexity, the probability of opportunistic mass exploitation is low. The primary realistic risk is in targeted scenarios: a compromised TLS endpoint presenting a revoked certificate to clients that rely on OCSP stapling for revocation checking. Note that only OTP deployments with OCSP stapling enabled or direct use of public_key:pkix_ocsp_validate/5 are exposed; the vast majority of Erlang/OTP deployments that do not use OCSP are unaffected. |
| Exploit ScenarioDerived | An attacker who has compromised or obtained the private key of an expired OCSP responder certificate-for example through a legacy CA archive, a decommissioned HSM, or a prior PKI breach-sets up or controls a TLS server presenting a revoked certificate. The server forges an OCSP response for the revoked certificate signed with the expired responder key and staples it to the TLS handshake. An Erlang/OTP TLS client (on an affected version with OCSP stapling enabled) receives the stapled response, calls verify_response/5, which skips the responder certificate validity-period check, accepts the forged response as valid, and proceeds to trust the revoked server certificate-achieving an authentication bypass or enabling a man-in-the-middle position. No public proof-of-concept exploit code exists at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – May 27, 2026
OCSP responder certificate validity bypass in Erlang OTP's public_key library allows forged OCSP responses-signed with the private key of an expired responder certificate-to be accepted as valid, defeating TLS certificate revocation checks. Affected deployments include TLS clients using OCSP stapling via the ssl application, and any application calling public_key:pkix_ocsp_validate/5 directly for server-side client certificate validation. An attacker who has obtained the private key of an expired CA-designated OCSP responder can present a revoked TLS certificate alongside a forged OCSP response and achieve authentication bypass. No public exploit code exists and CISA KEV does not list this vulnerability; SSVC rates exploitation as none at time of analysis.
RemediationAI
Vendor-released patches are available: upgrade Erlang OTP to 27.3.4.12, 28.5.0.1, or 29.0.1, which correspond to public_key library versions 1.17.1.3, 1.20.3.1, and 1.21.1 respectively. The fix is confirmed in GitHub commits 7995f1fdaee3da569bb810358ce0f546471d169b and b3870e02405c709a872b01ba6086065620cdfe76; the full advisory is at https://github.com/erlang/otp/security/advisories/GHSA-cjxj-wj6x-3fff. For deployments that cannot immediately patch, the most effective compensating control is to disable OCSP stapling in TLS client configurations-this eliminates the attack surface entirely, at the cost of losing revocation status checks via stapling (clients will fall back to CRL or direct OCSP queries if configured, or may lose revocation checking altogether). Alternatively, operators can audit whether any CA-designated OCSP responder certificates in their PKI trust chain have expired, and revoke or rotate their associated private keys to deny an attacker the prerequisite material. Applications using public_key:pkix_ocsp_validate/5 directly for client certificate validation should be temporarily disabled or bypassed to prevent authentication bypass until patching is complete.
Affected VersionsENISA
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The vulnerability resides in lib/public_key/src/pubkey_ocsp.erl, specifically in pubkey_ocsp:verify_response/5 and pubkey_ocsp:is_authorized_responder/3. OCSP (Online Certificate Status Protocol, RFC 6960) is a certificate revocation checking mechanism; when used in TLS via OCSP stapling, the server pre-fetches a signed OCSP response from the CA's responder and presents it to clients during the TLS handshake. RFC 5280 Section 4.1.2.5 mandates that relying parties check the notBefore and notAfter validity fields of all certificates in a chain, including OCSP responder certificates. The root cause (CWE-295: Improper Certificate Validation) is that pubkey_ocsp.erl called neither parse_and_check_validity_dates nor any equivalent time-range check on the responder certificate before accepting its signature as authoritative. The fix, introduced in commit 7995f1fdaee3da569bb810358ce0f546471d169b, exports parse_and_check_validity_dates from pubkey_cert.erl and gates responder authorization on a successful validity-period check; not-yet-valid certificates are similarly rejected. Affected CPE scope covers the otp package from version 1.16 and OTP 27.0 onward until the respective fix releases.
Know when Erlang Otp gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
Sources disagree (Low–High)CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:L/SI:L/SA:N
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
vuln.today treats the vendor’s rating as authoritative. A higher third-party CVSS (e.g. CISA-ADP) is shown for transparency but does not drive the headline severity.
CVSS VectorVendor: 6b3ad84c-e1a6-4bf7-a703-f496b71e49db
DescriptionCVE.org
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 27.3.4.12, 28.5.0.1, and 29.0.1 corresponding to public_key from 1.16 before 1.17.1.3, 1.20.3.1, and 1.21.1.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
More in Erlang Otp
View allErlang/OTP SSH server allows unauthenticated remote code execution by exploiting a flaw in SSH protocol message handling
The Erlang otp TLS server answers with different TLS alerts to different error types in the RSA PKCS #1 1.5 padding. Rat
The SSH transport protocol with certain OpenSSH extensions, found in OpenSSH before 9.6 and other products, allows remot
Multiple CRLF injection vulnerabilities in the FTP module in Erlang/OTP R15B03 allow context-dependent attackers to inje
A local privilege escalation vulnerability was discovered in Erlang/OTP prior to version 23.2.3. Rated high severity (CV
An issue was discovered in Erlang/OTP 18.x. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitab
In Erlang/OTP before 23.3.4.15, 24.x before 24.3.4.2, and 25.x before 25.0.2, there is a Client Authentication Bypass in
Denial of service in Erlang/OTP's TLS handshake allows remote unauthenticated attackers to crash the BEAM VM by sending
Erlang/OTP nodes that decode External Term Format (ETF) from untrusted sources can be aborted outright by a single malfo
TLS server impersonation in Erlang/OTP's public_key library lets a name-constrained subordinate CA forge a trusted ident
Erlang/OTP 22.3.x before 22.3.4.6 and 23.x before 23.1 allows Directory Traversal. Rated high severity (CVSS 7.5), this
Certificate chain forgery in Erlang/OTP's public_key application (pubkey_cert module) lets a non-CA end-entity certifica
Same weakness CWE-295 – Improper Certificate Validation
View allSame technique Authentication Bypass
View allVendor StatusVendor
SUSE
Severity: High| Product | Status |
|---|---|
| SUSE Linux Enterprise High Performance Computing 15 SP7 | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP7 | Fixed |
| SUSE Linux Enterprise Module for Server Applications 15 SP7 | Fixed |
| SUSE Linux Enterprise Module for Server Applications 15 SP7 | Fixed |
| SUSE Linux Enterprise Server 15 SP7 | Fixed |
| SUSE Linux Enterprise Server 15 SP7 | Fixed |
| SUSE Linux Enterprise Server 16.0 | Fixed |
| SUSE Linux Enterprise Server 16.1 | Fixed |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Fixed |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Fixed |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Fixed |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Fixed |
| openSUSE Leap 16.0 | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP4 | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP5 | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS | Fixed |
| SUSE Linux Enterprise Module for Server Applications 15 SP4 | Fixed |
| SUSE Linux Enterprise Module for Server Applications 15 SP5 | Fixed |
| SUSE Linux Enterprise Module for Server Applications 15 SP6 | Fixed |
| SUSE Linux Enterprise Module for Server Applications 15 SP6 | Fixed |
| SUSE Linux Enterprise Server 15 SP4 | Fixed |
| SUSE Linux Enterprise Server 15 SP4-LTSS | Fixed |
| SUSE Linux Enterprise Server 15 SP5 | Fixed |
| SUSE Linux Enterprise Server 15 SP5-LTSS | Fixed |
| SUSE Linux Enterprise Server 15 SP6 | Fixed |
| SUSE Linux Enterprise Server 15 SP6 | Fixed |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Fixed |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Fixed |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Fixed |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Fixed |
| SUSE Manager Proxy 4.3 | Fixed |
| SUSE Manager Proxy LTS 4.3 | Fixed |
| SUSE Manager Retail Branch Server 4.3 | Fixed |
| SUSE Manager Retail Branch Server LTS 4.3 | Fixed |
| SUSE Manager Server 4.3 | Fixed |
| SUSE Manager Server LTS 4.3 | Fixed |
| SUSE Enterprise Storage 7 | Fixed |
| SUSE Enterprise Storage 7.1 | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP2 | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP2-ESPOS | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP2-LTSS | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP3 | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP3-ESPOS | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP3-LTSS | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP6 | Fixed |
| SUSE Linux Enterprise High Performance Computing 15 SP6 | Fixed |
| SUSE Linux Enterprise Module for Server Applications 15 SP2 | Fixed |
| SUSE Linux Enterprise Module for Server Applications 15 SP3 | Fixed |
| SUSE Linux Enterprise Real Time 15 SP2 | Fixed |
| SUSE Linux Enterprise Real Time 15 SP3 | Fixed |
| SUSE Linux Enterprise Real Time 15 SP4 | Fixed |
| SUSE Linux Enterprise Server 15 SP2 | Fixed |
| SUSE Linux Enterprise Server 15 SP2-BCL | Fixed |
| SUSE Linux Enterprise Server 15 SP2-LTSS | Fixed |
| SUSE Linux Enterprise Server 15 SP3 | Fixed |
| SUSE Linux Enterprise Server 15 SP3-BCL | Fixed |
| SUSE Linux Enterprise Server 15 SP3-LTSS | Fixed |
| SUSE Linux Enterprise Server for SAP Applications 15 SP2 | Fixed |
| SUSE Linux Enterprise Server for SAP Applications 15 SP3 | Fixed |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Fixed |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Fixed |
| SUSE Manager Proxy 4.1 | Fixed |
| SUSE Manager Proxy 4.2 | Fixed |
| SUSE Manager Retail Branch Server 4.1 | Fixed |
| SUSE Manager Retail Branch Server 4.2 | Fixed |
| SUSE Manager Server 4.1 | Fixed |
| SUSE Manager Server 4.2 | Fixed |
| openSUSE Leap 15.3 | Fixed |
| openSUSE Leap 15.4 | Fixed |
| openSUSE Leap 15.5 | Fixed |
| openSUSE Leap 15.6 | Fixed |
| openSUSE Leap 15.6 | Fixed |
EUVD-2026-32273
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB