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

> A malicious CMP endpoint can crash a client by sending a crafted sender DN that triggers a format string vulnerability in OpenSSL's response validation.

- **Severity:** Critical 9.8 (`CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H`)
- **Exploited in the wild:** Not known
- **Login needed:** Not needed
- **Attackable:** Over the internet
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 25 Aug 2026
- **Updated:** 31 Aug 2026
- **Also known as:** ALPINE-CVE-2026-63073, AZL-97950, BELL-CVE-2026-63073, CLEANSTART-2026-UH94851, DEBIAN-CVE-2026-63073, GHSA-826x-qg76-xqjx, MINI-f4vr-f483-hr9j, UBUNTU-CVE-2026-63073

## What is CVE-2026-63073?

CVE-2026-63073 is a critical denial of service vulnerability in Openssl Openssl, published on 25 Aug 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

### Official 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.

Weakness: CWE-134 (Use of Externally-Controlled Format String)

## Which versions are affected by CVE-2026-63073?

It affects 1 product.


Products: Openssl Openssl.

## How do I fix CVE-2026-63073?

Apply the vendor's patch.

## Is CVE-2026-63073 being exploited?

There is no known exploitation of CVE-2026-63073 in the wild and no public exploit code.

## Other vulnerabilities in Openssl Openssl

- [CVE-2009-3245](https://insights.sbomify.com/CVE-2009-3245/): Null dereference in n/a (critical 10.0)
- [CVE-2006-3738](https://insights.sbomify.com/CVE-2006-3738/): Memory corruption in n/a (critical 10.0)
- [CVE-2016-6309](https://insights.sbomify.com/CVE-2016-6309/): Use after free in n/a (critical 9.8)
- [CVE-2016-0799](https://insights.sbomify.com/CVE-2016-0799/): Integer overflow in n/a (critical 9.8)
- [CVE-2016-2842](https://insights.sbomify.com/CVE-2016-2842/): Memory corruption in n/a (critical 9.8)

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2026-63073 and fix it if it is affected.

What it is: CVE-2026-63073 is a critical denial of service vulnerability in Openssl Openssl, published on 25 Aug 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Exploitation: There is no known exploitation of CVE-2026-63073 in the wild and no public exploit code.

Affected product: Openssl Openssl. No package-level version data is available, so check the vendor advisory linked from the reference page.

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2026-63073/ (Markdown: https://insights.sbomify.com/CVE-2026-63073/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2026-63073
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-63073
- OSV: https://osv.dev/vulnerability/CVE-2026-63073

---
From sbomify Insights: https://insights.sbomify.com/CVE-2026-63073/
Summaries are generated and may contain mistakes; the official description above is the record.
