p PatchFirst

CVE-2026-54876

CVE-2026-54876 · Client-Side Memory Leak in OCSP Response Checking

This page contains facts from public vulnerability sources. Check the original advisory before updating.

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 X509_V_FLAG_OCSP_RESP_CHECK or X509_V_FLAG_OCSP_RESP_CHECK_ALL 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 OCSP_BASICRESP structure allocated by OCSP_response_get1_basic() 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.

CVSS 7.5 · High · EPSS 0.5% · Fix available

Published
Updated

Stack: system · network

Affected products and versions

  • openssl

    Versions
    • ≥ 4.0.0, < 4.0.2: Affected (semver)
    • ≥ 3.6.0, < 3.6.4: Affected (semver)

    Update to 3.6.4; Update to 4.0.2

  • openssl Debian:14

    Versions
    • 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.5.7-1~deb13u3
    • 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
    Affected ranges
    • ECOSYSTEM: < 3.6.4-1

    Update to 3.6.4-1

  • nodejs Ubuntu:Pro:16.04:LTS

    Versions
    • 0.10.25~dfsg2-2ubuntu1
    • 4.2.2~dfsg-1
    • 4.2.3~dfsg-1
    • 4.2.4~dfsg-1ubuntu1
    • 4.2.4~dfsg-2
    • 4.2.6~dfsg-1ubuntu1
    • 4.2.6~dfsg-1ubuntu4
    • 4.2.6~dfsg-1ubuntu4.1
    • 4.2.6~dfsg-1ubuntu4.2
    • 4.2.6~dfsg-1ubuntu4.2+esm1
    • 4.2.6~dfsg-1ubuntu4.2+esm2
    • 4.2.6~dfsg-1ubuntu4.2+esm3
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • nodejs Ubuntu:Pro:18.04:LTS

    Versions
    • 6.11.4~dfsg-1ubuntu1
    • 6.11.4~dfsg-1ubuntu2
    • 6.12.0~dfsg-1ubuntu1
    • 6.12.0~dfsg-2ubuntu1
    • 6.12.0~dfsg-2ubuntu2
    • 8.10.0~dfsg-2
    • 8.10.0~dfsg-2ubuntu0.2
    • 8.10.0~dfsg-2ubuntu0.3
    • 8.10.0~dfsg-2ubuntu0.4
    • 8.10.0~dfsg-2ubuntu0.4+esm1
    • 8.10.0~dfsg-2ubuntu0.4+esm2
    • 8.10.0~dfsg-2ubuntu0.4+esm3
    • 8.10.0~dfsg-2ubuntu0.4+esm4
    • 8.10.0~dfsg-2ubuntu0.4+esm5
    • 8.10.0~dfsg-2ubuntu0.4+esm6
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

Original sources

Check your server →