CVE-2025-66199 (GCVE-0-2025-66199)
Vulnerability from cvelistv5 – Published: 2026-01-27 16:01 – Updated: 2026-01-27 16:01
VLAI?
Title
TLS 1.3 CompressedCertificate excessive memory allocation
Summary
Issue summary: A TLS 1.3 connection using certificate compression can be
forced to allocate a large buffer before decompression without checking
against the configured certificate size limit.
Impact summary: An attacker can cause per-connection memory allocations of
up to approximately 22 MiB and extra CPU work, potentially leading to
service degradation or resource exhaustion (Denial of Service).
In affected configurations, the peer-supplied uncompressed certificate
length from a CompressedCertificate message is used to grow a heap buffer
prior to decompression. This length is not bounded by the max_cert_list
setting, which otherwise constrains certificate message sizes. An attacker
can exploit this to cause large per-connection allocations followed by
handshake failure. No memory corruption or information disclosure occurs.
This issue only affects builds where TLS 1.3 certificate compression is
compiled in (i.e., not OPENSSL_NO_COMP_ALG) and at least one compression
algorithm (brotli, zlib, or zstd) is available, and where the compression
extension is negotiated. Both clients receiving a server CompressedCertificate
and servers in mutual TLS scenarios receiving a client CompressedCertificate
are affected. Servers that do not request client certificates are not
vulnerable to client-initiated attacks.
Users can mitigate this issue by setting SSL_OP_NO_RX_CERTIFICATE_COMPRESSION
to disable receiving compressed certificates.
The FIPS modules in 3.6, 3.5, 3.4 and 3.3 are not affected by this issue,
as the TLS implementation is outside the OpenSSL FIPS module boundary.
OpenSSL 3.6, 3.5, 3.4 and 3.3 are vulnerable to this issue.
OpenSSL 3.0, 1.1.1 and 1.0.2 are not affected by this issue.
Severity ?
No CVSS data available.
CWE
- CWE-789 - Memory Allocation with Excessive Size Value
Assigner
References
| URL | Tags | |
|---|---|---|
Impacted products
Credits
Tomas Dulka (Aisle Research)
Stanislav Fort (Aisle Research)
Tomas Dulka (Aisle Research)
Stanislav Fort (Aisle Research)
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "OpenSSL",
"vendor": "OpenSSL",
"versions": [
{
"lessThan": "3.6.1",
"status": "affected",
"version": "3.6.0",
"versionType": "semver"
},
{
"lessThan": "3.5.5",
"status": "affected",
"version": "3.5.0",
"versionType": "semver"
},
{
"lessThan": "3.4.4",
"status": "affected",
"version": "3.4.0",
"versionType": "semver"
},
{
"lessThan": "3.3.6",
"status": "affected",
"version": "3.3.0",
"versionType": "semver"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "reporter",
"value": "Tomas Dulka (Aisle Research)"
},
{
"lang": "en",
"type": "reporter",
"value": "Stanislav Fort (Aisle Research)"
},
{
"lang": "en",
"type": "remediation developer",
"value": "Tomas Dulka (Aisle Research)"
},
{
"lang": "en",
"type": "remediation developer",
"value": "Stanislav Fort (Aisle Research)"
}
],
"datePublic": "2026-01-27T14:00:00.000Z",
"descriptions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "Issue summary: A TLS 1.3 connection using certificate compression can be\u003cbr\u003eforced to allocate a large buffer before decompression without checking\u003cbr\u003eagainst the configured certificate size limit.\u003cbr\u003e\u003cbr\u003eImpact summary: An attacker can cause per-connection memory allocations of\u003cbr\u003eup to approximately 22 MiB and extra CPU work, potentially leading to\u003cbr\u003eservice degradation or resource exhaustion (Denial of Service).\u003cbr\u003e\u003cbr\u003eIn affected configurations, the peer-supplied uncompressed certificate\u003cbr\u003elength from a CompressedCertificate message is used to grow a heap buffer\u003cbr\u003eprior to decompression. This length is not bounded by the max_cert_list\u003cbr\u003esetting, which otherwise constrains certificate message sizes. An attacker\u003cbr\u003ecan exploit this to cause large per-connection allocations followed by\u003cbr\u003ehandshake failure. No memory corruption or information disclosure occurs.\u003cbr\u003e\u003cbr\u003eThis issue only affects builds where TLS 1.3 certificate compression is\u003cbr\u003ecompiled in (i.e., not OPENSSL_NO_COMP_ALG) and at least one compression\u003cbr\u003ealgorithm (brotli, zlib, or zstd) is available, and where the compression\u003cbr\u003eextension is negotiated. Both clients receiving a server CompressedCertificate\u003cbr\u003eand servers in mutual TLS scenarios receiving a client CompressedCertificate\u003cbr\u003eare affected. Servers that do not request client certificates are not\u003cbr\u003evulnerable to client-initiated attacks.\u003cbr\u003e\u003cbr\u003eUsers can mitigate this issue by setting SSL_OP_NO_RX_CERTIFICATE_COMPRESSION\u003cbr\u003eto disable receiving compressed certificates.\u003cbr\u003e\u003cbr\u003eThe FIPS modules in 3.6, 3.5, 3.4 and 3.3 are not affected by this issue,\u003cbr\u003eas the TLS implementation is outside the OpenSSL FIPS module boundary.\u003cbr\u003e\u003cbr\u003eOpenSSL 3.6, 3.5, 3.4 and 3.3 are vulnerable to this issue.\u003cbr\u003e\u003cbr\u003eOpenSSL 3.0, 1.1.1 and 1.0.2 are not affected by this issue."
}
],
"value": "Issue summary: A TLS 1.3 connection using certificate compression can be\nforced to allocate a large buffer before decompression without checking\nagainst the configured certificate size limit.\n\nImpact summary: An attacker can cause per-connection memory allocations of\nup to approximately 22 MiB and extra CPU work, potentially leading to\nservice degradation or resource exhaustion (Denial of Service).\n\nIn affected configurations, the peer-supplied uncompressed certificate\nlength from a CompressedCertificate message is used to grow a heap buffer\nprior to decompression. This length is not bounded by the max_cert_list\nsetting, which otherwise constrains certificate message sizes. An attacker\ncan exploit this to cause large per-connection allocations followed by\nhandshake failure. No memory corruption or information disclosure occurs.\n\nThis issue only affects builds where TLS 1.3 certificate compression is\ncompiled in (i.e., not OPENSSL_NO_COMP_ALG) and at least one compression\nalgorithm (brotli, zlib, or zstd) is available, and where the compression\nextension is negotiated. Both clients receiving a server CompressedCertificate\nand servers in mutual TLS scenarios receiving a client CompressedCertificate\nare affected. Servers that do not request client certificates are not\nvulnerable to client-initiated attacks.\n\nUsers can mitigate this issue by setting SSL_OP_NO_RX_CERTIFICATE_COMPRESSION\nto disable receiving compressed certificates.\n\nThe FIPS modules in 3.6, 3.5, 3.4 and 3.3 are not affected by this issue,\nas the TLS implementation is outside the OpenSSL FIPS module boundary.\n\nOpenSSL 3.6, 3.5, 3.4 and 3.3 are vulnerable to this issue.\n\nOpenSSL 3.0, 1.1.1 and 1.0.2 are not affected by this issue."
}
],
"metrics": [
{
"format": "other",
"other": {
"content": {
"text": "Low"
},
"type": "https://openssl-library.org/policies/general/security-policy/"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-789",
"description": "CWE-789 Memory Allocation with Excessive Size Value",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-01-27T16:01:22.399Z",
"orgId": "3a12439a-ef3a-4c79-92e6-6081a721f1e5",
"shortName": "openssl"
},
"references": [
{
"name": "OpenSSL Advisory",
"tags": [
"vendor-advisory"
],
"url": "https://openssl-library.org/news/secadv/20260127.txt"
},
{
"name": "3.6.1 git commit",
"tags": [
"patch"
],
"url": "https://github.com/openssl/openssl/commit/6184a4fb08ee6d7bca570d931a4e8bef40b64451"
},
{
"name": "3.5.5 git commit",
"tags": [
"patch"
],
"url": "https://github.com/openssl/openssl/commit/895150b5e021d16b52fb32b97e1dd12f20448be5"
},
{
"name": "3.4.4 git commit",
"tags": [
"patch"
],
"url": "https://github.com/openssl/openssl/commit/966a2478046c311ed7dae50c457d0db4cafbf7e4"
},
{
"name": "3.3.6 git commit",
"tags": [
"patch"
],
"url": "https://github.com/openssl/openssl/commit/3ed1f75249932b155eef993a8e66a99cb98bfef4"
}
],
"source": {
"discovery": "UNKNOWN"
},
"title": "TLS 1.3 CompressedCertificate excessive memory allocation",
"x_generator": {
"engine": "Vulnogram 0.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "3a12439a-ef3a-4c79-92e6-6081a721f1e5",
"assignerShortName": "openssl",
"cveId": "CVE-2025-66199",
"datePublished": "2026-01-27T16:01:22.399Z",
"dateReserved": "2025-11-24T15:00:43.637Z",
"dateUpdated": "2026-01-27T16:01:22.399Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"nvd": "{\"cve\":{\"id\":\"CVE-2025-66199\",\"sourceIdentifier\":\"openssl-security@openssl.org\",\"published\":\"2026-01-27T16:16:15.777\",\"lastModified\":\"2026-01-27T16:16:15.777\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"Issue summary: A TLS 1.3 connection using certificate compression can be\\nforced to allocate a large buffer before decompression without checking\\nagainst the configured certificate size limit.\\n\\nImpact summary: An attacker can cause per-connection memory allocations of\\nup to approximately 22 MiB and extra CPU work, potentially leading to\\nservice degradation or resource exhaustion (Denial of Service).\\n\\nIn affected configurations, the peer-supplied uncompressed certificate\\nlength from a CompressedCertificate message is used to grow a heap buffer\\nprior to decompression. This length is not bounded by the max_cert_list\\nsetting, which otherwise constrains certificate message sizes. An attacker\\ncan exploit this to cause large per-connection allocations followed by\\nhandshake failure. No memory corruption or information disclosure occurs.\\n\\nThis issue only affects builds where TLS 1.3 certificate compression is\\ncompiled in (i.e., not OPENSSL_NO_COMP_ALG) and at least one compression\\nalgorithm (brotli, zlib, or zstd) is available, and where the compression\\nextension is negotiated. Both clients receiving a server CompressedCertificate\\nand servers in mutual TLS scenarios receiving a client CompressedCertificate\\nare affected. Servers that do not request client certificates are not\\nvulnerable to client-initiated attacks.\\n\\nUsers can mitigate this issue by setting SSL_OP_NO_RX_CERTIFICATE_COMPRESSION\\nto disable receiving compressed certificates.\\n\\nThe FIPS modules in 3.6, 3.5, 3.4 and 3.3 are not affected by this issue,\\nas the TLS implementation is outside the OpenSSL FIPS module boundary.\\n\\nOpenSSL 3.6, 3.5, 3.4 and 3.3 are vulnerable to this issue.\\n\\nOpenSSL 3.0, 1.1.1 and 1.0.2 are not affected by this issue.\"}],\"metrics\":{},\"weaknesses\":[{\"source\":\"openssl-security@openssl.org\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-789\"}]}],\"references\":[{\"url\":\"https://github.com/openssl/openssl/commit/3ed1f75249932b155eef993a8e66a99cb98bfef4\",\"source\":\"openssl-security@openssl.org\"},{\"url\":\"https://github.com/openssl/openssl/commit/6184a4fb08ee6d7bca570d931a4e8bef40b64451\",\"source\":\"openssl-security@openssl.org\"},{\"url\":\"https://github.com/openssl/openssl/commit/895150b5e021d16b52fb32b97e1dd12f20448be5\",\"source\":\"openssl-security@openssl.org\"},{\"url\":\"https://github.com/openssl/openssl/commit/966a2478046c311ed7dae50c457d0db4cafbf7e4\",\"source\":\"openssl-security@openssl.org\"},{\"url\":\"https://openssl-library.org/news/secadv/20260127.txt\",\"source\":\"openssl-security@openssl.org\"}]}}"
}
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
Loading…