# CVE-2025-11187: Improper validation of PBMAC1 parameters in PKCS#12 MAC verification

> Attacker can cause denial of service or potential code execution by crafting a malicious PKCS#12 file with invalid PBMAC1 parameters.

- **Severity:** Medium 6.1 (`CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:H`)
- **Exploited in the wild:** Not known
- **Login needed:** Any signed-in user
- **Attackable:** Local or same network only
- **Victim action needed:** A user has to click or open something
- **Fix available:** Yes
- **Published:** 27 Jan 2026
- **Updated:** 20 Mar 2026
- **Also known as:** ALPINE-CVE-2025-11187, BELL-CVE-2025-11187, CLEANSTART-2026-PD89526, CLEANSTART-2026-VP72640, DEBIAN-CVE-2025-11187, GHSA-hpc7-gcqm-58fv, JLSEC-2026-255, MINI-h554-5xj6-wrxh, MINI-rxwr-777q-phg7, UBUNTU-CVE-2025-11187

## What is CVE-2025-11187?

CVE-2025-11187 is a medium-severity memory corruption vulnerability in Openssl Openssl, published on 27 Jan 2026. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link.

### Official description

Issue summary: PBMAC1 parameters in PKCS#12 files are missing validation
which can trigger a stack-based buffer overflow, invalid pointer or NULL
pointer dereference during MAC verification.

Impact summary: The stack buffer overflow or NULL pointer dereference may
cause a crash leading to Denial of Service for an application that parses
untrusted PKCS#12 files. The buffer overflow may also potentially enable
code execution depending on platform mitigations.

When verifying a PKCS#12 file that uses PBMAC1 for the MAC, the PBKDF2
salt and keylength parameters from the file are used without validation.
If the value of keylength exceeds the size of the fixed stack buffer used
for the derived key (64 bytes), the key derivation will overflow the buffer.
The overflow length is attacker-controlled. Also, if the salt parameter is
not an OCTET STRING type this can lead to invalid or NULL pointer
dereference.

Exploiting this issue requires a user or application to process
a maliciously crafted PKCS#12 file. It is uncommon to accept untrusted
PKCS#12 files in applications as they are usually used to store private
keys which are trusted by definition. For this reason the issue was assessed
as Moderate severity.

The FIPS modules in 3.6, 3.5 and 3.4 are not affected by this issue, as
PKCS#12 processing is outside the OpenSSL FIPS module boundary.

OpenSSL 3.6, 3.5 and 3.4 are vulnerable to this issue.

OpenSSL 3.3, 3.0, 1.1.1 and 1.0.2 are not affected by this issue as they do
not support PBMAC1 in PKCS#12.

Weakness: CWE-787 (Out-of-bounds Write), CWE-476 (NULL Pointer Dereference)

## Which versions are affected by CVE-2025-11187?

It affects 1 product.


Products: Openssl Openssl.

## How do I fix CVE-2025-11187?

Apply the vendor's patch.

## Is CVE-2025-11187 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2025-11187 exists.

Public exploit code:

- Stack buffer overflow in PKCS#12 PBMAC1 PBKDF2 keylength (OpenSSL 3.X) (github_poc): https://github.com/metadust/CVE-2025-11187

## 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-2025-11187 and fix it if it is affected.

What it is: CVE-2025-11187 is a medium-severity memory corruption vulnerability in Openssl Openssl, published on 27 Jan 2026. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link.
Exploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2025-11187 exists.

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

## Sources

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

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