CVE-2026-54876: Client-Side Memory Leak in OCSP Response Checking
Issue summary: A malicious TLS server can cause a memory leak in a TLS client that has enabled OCSP response checking by sending an OCSP response that contains no single response entries.
Impact summary: An attacker can leak an attacker-tunable amount of memory per TLS handshake in a victim client application. A long-running client that repeatedly connects to a malicious server can have its memory exhausted, resulting in a Denial of Service.
CWE: CWE-401: Missing Release of Memory after Effective Lifetime
Description: The affected function is called during X.509 certificate chain verification when OCSP response checking is enabled with the X509VFLAGOCSPRESPCHECK or X509VFLAGOCSPRESPCHECKALL verification flags, for example when a TLS client verifies an OCSP response stapled into the TLS handshake by the server.
When the received BasicOCSPResponse contains an empty SEQUENCE OF SingleResponse, which is permitted on the wire and accepted by the OpenSSL decoder, the OCSPBASICRESP structure allocated by OCSPresponseget1basic() was not freed because an early return bypassed the cleanup code at the end of the function.
The amount of memory leaked per handshake can be amplified by the attacker by padding the certs field of the BasicOCSPResponse with bogus certificates, which are parsed and stored in the leaked structure before the empty response check triggers the early return. A long-running TLS client that repeatedly connects to a malicious server can have its memory exhausted over time.
OCSP response checking is not enabled by default. Only client applications that explicitly enable the OCSP response check verification flags are affected.
FIPS impact: no
The FIPS modules in 4.0 and 3.6 are not affected by this issue as the affected code is outside the OpenSSL FIPS module boundary.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Configuration
Ensure OCSP response checking is not explicitly enabled in the TLS client (the text states OCSP response checking is not enabled by default). Specifically, avoid enabling X509_V_FLAG_OCSP_RESP_CHECK or X509_V_FLAG_OCSP_RESP_CHECK_ALL so the OCSP code path that can leak memory via OCSP_response_get1_basic() is not exercised.
OpenSSL (OCSP response checking in TLS clients) OCSP response checking = disable
Event History
Frequently Asked Questions
What is the severity of CVE-2026-54876?
The severity of CVE-2026-54876 is rated at risk level 21.
How do I fix CVE-2026-54876?
To fix CVE-2026-54876, update to the latest version of OpenSSL that includes the patch addressing this vulnerability.
What causes the vulnerability in CVE-2026-54876?
CVE-2026-54876 is caused by a malicious TLS server sending an OCSP response with no single response entries, leading to a client-side memory leak.
Who is affected by CVE-2026-54876?
CVE-2026-54876 affects TLS clients with OCSP response checking enabled.
What kind of impact does CVE-2026-54876 have on systems?
CVE-2026-54876 can lead to a memory leak that allows attackers to consume an attacker-tunable amount of memory per TLS handshake on the client.