CVE-2026-63073 (GCVE-0-2026-63073)
Vulnerability from cvelistv5
Published
2026-08-25 12:59
Modified
2026-08-25 12:59
Severity ?
VLAI Severity ?
EPSS score ?
CWE
- CWE-134 - Use of Externally-Controlled Format String
Summary
Issue summary: OpenSSL CMP response validation passed an unexpected response
sender distinguished name directly as the format string to `ERR_raise_data()`.
Impact summary: A malicious or intercepted CMP endpoint can crash a CMP client
that enforces an expected sender or uses a pinned server certificate whose
subject becomes the default expected sender.
CWE: CWE-134 (Use of Externally-Controlled Format String)
Description: When validating a received CMP message, ossl_cmp_msg_check_update()
converts the peer-supplied sender distinguished name with X509_NAME_oneline()
and passes it directly as the format argument to ERR_raise_data(). Percent
characters survive the conversion, so a sender DN such as "CN=%s%n" reaches
BIO_vsnprintf() as an attacker-controlled format string with no matching variadic
arguments. This path is only reached when the caller configures an expected
sender or pins a server certificate, which is the normal configuration for a
CMP client validating server responses.
Since the attacker controls the format string but none of the variadic
arguments, such specifiers as %s and %n dereference or write through unrelated
stack contents and crash the client. The reliable consequence is a denial of
service, when the response comes from a malicious or intercepted CMP endpoint.
There is no controlled memory write, arbitrary-address read, or reliable path
to remote code execution.
FIPS impact: no
No FIPS modules are affected by this issue, as the CMP protocol
implementation is outside the OpenSSL FIPS module boundary.
References
Impacted products
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "OpenSSL",
"vendor": "OpenSSL",
"versions": [
{
"lessThan": "4.0.2",
"status": "affected",
"version": "4.0.0",
"versionType": "semver"
},
{
"lessThan": "3.6.4",
"status": "affected",
"version": "3.6.0",
"versionType": "semver"
},
{
"lessThan": "3.5.8",
"status": "affected",
"version": "3.5.0",
"versionType": "semver"
},
{
"lessThan": "3.4.7",
"status": "affected",
"version": "3.4.0",
"versionType": "semver"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "reporter",
"value": "Filipe Casal (Trail of Bits)"
},
{
"lang": "en",
"type": "reporter",
"value": "Brandon Luo"
},
{
"lang": "en",
"type": "reporter",
"value": "TrendAI Zero Day Initiative"
},
{
"lang": "en",
"type": "remediation developer",
"value": "Filipe Casal (Trail of Bits)"
}
],
"datePublic": "2026-08-25T11:36:16.000Z",
"descriptions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "Issue summary: OpenSSL CMP response validation passed an unexpected response\u003cbr\u003esender distinguished name directly as the format string to `ERR_raise_data()`.\u003cbr\u003e\u003cbr\u003eImpact summary: A malicious or intercepted CMP endpoint can crash a CMP client\u003cbr\u003ethat enforces an expected sender or uses a pinned server certificate whose\u003cbr\u003esubject becomes the default expected sender.\u003cbr\u003e\u003cbr\u003eCWE: CWE-134 (Use of Externally-Controlled Format String)\u003cbr\u003e\u003cbr\u003eDescription: When validating a received CMP message, ossl_cmp_msg_check_update()\u003cbr\u003econverts the peer-supplied sender distinguished name with X509_NAME_oneline()\u003cbr\u003eand passes it directly as the format argument to ERR_raise_data(). Percent\u003cbr\u003echaracters survive the conversion, so a sender DN such as \"CN=%s%n\" reaches\u003cbr\u003eBIO_vsnprintf() as an attacker-controlled format string with no matching variadic\u003cbr\u003earguments. This path is only reached when the caller configures an expected\u003cbr\u003esender or pins a server certificate, which is the normal configuration for a\u003cbr\u003eCMP client validating server responses.\u003cbr\u003e\u003cbr\u003eSince the attacker controls the format string but none of the variadic\u003cbr\u003earguments, such specifiers as %s and %n dereference or write through unrelated\u003cbr\u003estack contents and crash the client. The reliable consequence is a denial of\u003cbr\u003eservice, when the response comes from a malicious or intercepted CMP endpoint.\u003cbr\u003eThere is no controlled memory write, arbitrary-address read, or reliable path\u003cbr\u003eto remote code execution.\u003cbr\u003e\u003cbr\u003eFIPS impact: no\u003cbr\u003e\u003cbr\u003eNo FIPS modules are affected by this issue, as the CMP protocol\u003cbr\u003eimplementation is outside the OpenSSL FIPS module boundary."
}
],
"value": "Issue summary: OpenSSL CMP response validation passed an unexpected response\nsender distinguished name directly as the format string to `ERR_raise_data()`.\n\nImpact summary: A malicious or intercepted CMP endpoint can crash a CMP client\nthat enforces an expected sender or uses a pinned server certificate whose\nsubject becomes the default expected sender.\n\nCWE: CWE-134 (Use of Externally-Controlled Format String)\n\nDescription: When validating a received CMP message, ossl_cmp_msg_check_update()\nconverts the peer-supplied sender distinguished name with X509_NAME_oneline()\nand passes it directly as the format argument to ERR_raise_data(). Percent\ncharacters survive the conversion, so a sender DN such as \"CN=%s%n\" reaches\nBIO_vsnprintf() as an attacker-controlled format string with no matching variadic\narguments. This path is only reached when the caller configures an expected\nsender or pins a server certificate, which is the normal configuration for a\nCMP client validating server responses.\n\nSince the attacker controls the format string but none of the variadic\narguments, such specifiers as %s and %n dereference or write through unrelated\nstack contents and crash the client. The reliable consequence is a denial of\nservice, when the response comes from a malicious or intercepted CMP endpoint.\nThere is no controlled memory write, arbitrary-address read, or reliable path\nto remote code execution.\n\nFIPS impact: no\n\nNo FIPS modules are affected by this issue, as the CMP protocol\nimplementation is outside the OpenSSL FIPS module boundary."
}
],
"metrics": [
{
"format": "other",
"other": {
"content": {
"text": "Low"
},
"type": "https://openssl-library.org/policies/general/security-policy/"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-134",
"description": "Use of Externally-Controlled Format String",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-08-25T12:59:43.356Z",
"orgId": "3a12439a-ef3a-4c79-92e6-6081a721f1e5",
"shortName": "openssl"
},
"references": [
{
"name": "OpenSSL Advisory",
"tags": [
"vendor-advisory"
],
"url": "https://openssl-library.org/news/secadv/20260825.txt"
},
{
"name": "4.0.2 git commit",
"tags": [
"patch"
],
"url": "https://github.com/openssl/openssl/commit/7eb2e3ec9d1d4f35c8022fccd4b03398b3f33e21"
},
{
"name": "3.6.4 git commit",
"tags": [
"patch"
],
"url": "https://github.com/openssl/openssl/commit/6a0acc072b4d37a7cac1252a29c1ce1f00c5ec29"
},
{
"name": "3.5.8 git commit",
"tags": [
"patch"
],
"url": "https://github.com/openssl/openssl/commit/0cc20b322639919aa423e90799d9a57c3b4b76ca"
},
{
"name": "3.4.7 git commit",
"tags": [
"patch"
],
"url": "https://github.com/openssl/openssl/commit/a7e5a6eea8fd3ccca6b6fbba031a5fbf8a3d93b4"
}
],
"source": {
"discovery": "UNKNOWN"
},
"title": "Untrusted Sender DN Used as Format String in CMP Response Validation",
"x_generator": {
"engine": "Vulnogram 0.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "3a12439a-ef3a-4c79-92e6-6081a721f1e5",
"assignerShortName": "openssl",
"cveId": "CVE-2026-63073",
"datePublished": "2026-08-25T12:59:43.356Z",
"dateReserved": "2026-07-15T13:10:26.188Z",
"dateUpdated": "2026-08-25T12:59:43.356Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.
Loading…
Loading…