CVE-2026-54876

Source
https://cve.org/CVERecord?id=CVE-2026-54876
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-54876.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-54876
Downstream
Related
Published
2026-08-05T13:59:36.466Z
Modified
2026-08-30T08:17:23.433958Z
Severity
  • 7.5 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H CVSS Calculator
Summary
Client-Side Memory Leak in OCSP Response Checking
Details

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 X509VFLAGOCSPRESPCHECK_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 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.

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54876.json",
    "cna_assigner": "openssl",
    "cwe_ids": [
        "CWE-401"
    ]
}
References

Affected packages

Git / github.com/openssl/openssl

Affected ranges

Type
GIT
Repo
https://github.com/openssl/openssl
Events
Database specific
Show details
{
    "source": [
        "AFFECTED_FIELD",
        "REFERENCES"
    ],
    "extracted_events": [
        {
            "introduced": "4.0.0"
        },
        {
            "fixed": "4.0.2"
        },
        {
            "introduced": "3.6.0"
        },
        {
            "fixed": "3.6.4"
        }
    ]
}

Affected versions

3.*
3.6-POST-CLANG-FORMAT-WEBKIT
3.6-PRE-CLANG-FORMAT-WEBKIT
openssl-3.*
openssl-3.6.0
openssl-3.6.1
openssl-3.6.2
openssl-3.6.3
openssl-4.*
openssl-4.0.0
openssl-4.0.1

Database specific

vanir_signatures
[
    {
        "signature_type": "Function",
        "deprecated": false,
        "digest": {
            "length": 1750.0,
            "function_hash": "160641891841475924494476073364912984925"
        },
        "id": "CVE-2026-54876-25e2b498",
        "target": {
            "function": "check_cert_ocsp_resp",
            "file": "crypto/x509/x509_vfy.c"
        },
        "source": "https://github.com/openssl/openssl/commit/155b5fe0f93365e6df1c56ee3606b121080c6c12",
        "signature_version": "v1"
    },
    {
        "signature_type": "Function",
        "deprecated": false,
        "digest": {
            "length": 1750.0,
            "function_hash": "160641891841475924494476073364912984925"
        },
        "id": "CVE-2026-54876-c3ef82e6",
        "target": {
            "function": "check_cert_ocsp_resp",
            "file": "crypto/x509/x509_vfy.c"
        },
        "source": "https://github.com/openssl/openssl/commit/d8c51048ac037a21bae0f41cad7a3920dc7f3638",
        "signature_version": "v1"
    },
    {
        "signature_type": "Line",
        "deprecated": false,
        "digest": {
            "line_hashes": [
                "303866564082954206206029976445149480800",
                "41104825234589676860157793468198067856",
                "97759028652397814767519481234710209452",
                "297295048248541998539773943654436570891",
                "223629964282213138350637630234383941186",
                "243959413222545377980179615990557206967"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2026-54876-c9e31098",
        "target": {
            "file": "crypto/x509/x509_vfy.c"
        },
        "source": "https://github.com/openssl/openssl/commit/155b5fe0f93365e6df1c56ee3606b121080c6c12",
        "signature_version": "v1"
    },
    {
        "signature_type": "Line",
        "deprecated": false,
        "digest": {
            "line_hashes": [
                "303866564082954206206029976445149480800",
                "41104825234589676860157793468198067856",
                "97759028652397814767519481234710209452",
                "297295048248541998539773943654436570891",
                "223629964282213138350637630234383941186",
                "243959413222545377980179615990557206967"
            ],
            "threshold": 0.9
        },
        "id": "CVE-2026-54876-eae8e811",
        "target": {
            "file": "crypto/x509/x509_vfy.c"
        },
        "source": "https://github.com/openssl/openssl/commit/d8c51048ac037a21bae0f41cad7a3920dc7f3638",
        "signature_version": "v1"
    }
]
source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-54876.json"
vanir_signatures_modified
"2026-08-30T08:17:23Z"