# CVE-2023-0401: NULL dereference during PKCS7 data verification

> Attackers can cause a crash in applications verifying PKCS7 signatures if specific hash algorithms are unavailable, requiring patched OpenSSL versions.

- **Severity:** High 7.5 (`CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/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:** 8 Feb 2023
- **Updated:** 4 Nov 2025
- **Also known as:** ALPINE-CVE-2023-0401, CLEANSTART-2026-DW53097, DEBIAN-CVE-2023-0401, GHSA-vrh7-x64v-7vxq, RUSTSEC-2023-0013, UBUNTU-CVE-2023-0401

## What is CVE-2023-0401?

CVE-2023-0401 is a high-severity vulnerability in Openssl Openssl, published on 8 Feb 2023. An attacker can exploit it over the internet without logging in, with no action from the victim.

### Official description

A NULL pointer can be dereferenced when signatures are being
verified on PKCS7 signed or signedAndEnveloped data. In case the hash
algorithm used for the signature is known to the OpenSSL library but
the implementation of the hash algorithm is not available the digest
initialization will fail. There is a missing check for the return
value from the initialization function which later leads to invalid
usage of the digest API most likely leading to a crash.

The unavailability of an algorithm can be caused by using FIPS
enabled configuration of providers or more commonly by not loading
the legacy provider.

PKCS7 data is processed by the SMIME library calls and also by the
time stamp (TS) library calls. The TLS implementation in OpenSSL does
not call these functions however third party applications would be
affected if they call these functions to verify signatures on untrusted
data.

Weakness: CWE-476 (NULL Pointer Dereference)

## Which versions are affected by CVE-2023-0401?

3 open source packages ship an affected version, including openssl-src. It affects 2 products.


| Package | Ecosystem | Affected | Fixed in |
| --- | --- | --- | --- |
| `openssl-src` | crates.io | From 300.0.0 | 300.0.12 |
| `openssl-src` | crates.io | From 300.0.0 | 300.0.12 |
| `openssl-src` | crates.io | From 300.0.0 | 300.0.12 |

Products: Openssl Openssl, Stormshield Stormshield Management Center.

## How do I fix CVE-2023-0401?

Upgrade openssl-src to 300.0.12 or later.

## Is CVE-2023-0401 being exploited?

There is no known exploitation of CVE-2023-0401 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-2026-63073](https://insights.sbomify.com/CVE-2026-63073/): Untrusted Sender DN Used as Format String in CMP Response Validation (critical 9.8)
- [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)

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2023-0401 and fix it if it is affected.

What it is: CVE-2023-0401 is a high-severity vulnerability in Openssl Openssl, published on 8 Feb 2023. 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-2023-0401 in the wild and no public exploit code.

Affected packages and fixed versions:
- openssl-src (crates.io): affected from 300.0.0; fixed in 300.0.12
- openssl-src (crates.io): affected from 300.0.0; fixed in 300.0.12
- openssl-src (crates.io): affected from 300.0.0; fixed in 300.0.12

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-2023-0401/ (Markdown: https://insights.sbomify.com/CVE-2023-0401/index.md)
```

## Sources

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

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