CVE-2026-34181
Analyzed Analyzed - Analysis Complete

PKCS#12 Certificate and Private Key Forgery via PBMAC1

Vulnerability report for CVE-2026-34181, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-06-09

Last updated on: 2026-06-15

Assigner: OpenSSL Software Foundation

Description

Issue Summary: The PKCS#12 file processing fails to perform sufficient input validation for files that use Password-Based Message Authentication Code 1 (PBMAC1) integrity mechanism allowing a certificate and private key forgery. Impact Summary: An attacker impersonating a user can cause a service reading PKCS#12 files to accept forged certificates and private keys with a 1 in 256 probability. If a service accepting PKCS#12 files is using passwords for authenticating the received files, the attacker can create unencrypted PKCS#12 files that use PBMAC1 authentication that specifies an HMAC key of only one byte, allowing them to craft a file that will be accepted with a 1 in 256 probability. That would then cause the service to accept a certificate and private key controlled by the attacker. The FIPS modules are not affected by this issue, as the affected code is outside the OpenSSL FIPS module boundary.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-06-09
Last Modified
2026-06-15
Generated
2026-06-30
AI Q&A
2026-06-09
EPSS Evaluated
2026-06-28
NVD
EUVD

Affected Vendors & Products

Showing 4 associated CPEs
Vendor Product Version / Range
openssl openssl From 3.4.0 (inc) to 3.4.6 (exc)
openssl openssl From 3.5.0 (inc) to 3.5.7 (exc)
openssl openssl From 3.6.0 (inc) to 3.6.3 (exc)
openssl openssl 4.0.0

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-354 The product does not validate or incorrectly validates the integrity check values or "checksums" of a message. This may prevent it from detecting if the data has been modified or corrupted in transmission.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability occurs because the PKCS#12 file processing does not perform sufficient input validation for files that use the Password-Based Message Authentication Code 1 (PBMAC1) integrity mechanism.

As a result, an attacker can create forged certificates and private keys that may be accepted by a service reading these PKCS#12 files.

Specifically, if a service uses passwords to authenticate PKCS#12 files, an attacker can craft unencrypted PKCS#12 files using PBMAC1 authentication with an HMAC key of only one byte, which allows the forged file to be accepted with a probability of 1 in 256.

Impact Analysis

This vulnerability can allow an attacker to impersonate a legitimate user by causing a service to accept forged certificates and private keys.

If the service relies on PKCS#12 files for authentication or encryption, the attacker could gain unauthorized access or perform actions under the guise of the legitimate user.

The probability of successful forgery is 1 in 256, which means there is a measurable risk of compromise.

Compliance Impact

The vulnerability allows an attacker to bypass password protection in PKCS#12 files by exploiting insufficient input validation of short MAC keys, potentially leading to acceptance of forged certificates and private keys.

This security weakness could undermine the integrity and confidentiality of cryptographic credentials, which are critical for secure authentication and data protection.

As a result, organizations relying on vulnerable OpenSSL PKCS#12 implementations might face increased risk of unauthorized access or data breaches, potentially impacting compliance with standards and regulations such as GDPR and HIPAA that mandate strong data protection and access controls.

However, the provided information does not explicitly discuss or analyze the direct impact of this vulnerability on compliance with these regulations.

Detection Guidance

This vulnerability involves insufficient validation of the PBMAC1 key length in PKCS#12 files, allowing forged certificates and private keys to be accepted with a 1 in 256 probability. Detection would involve inspecting PKCS#12 files processed by your services to identify those using PBMAC1 with short MAC keys (less than 20 bytes).

Since the vulnerability is related to the cryptographic validation of PKCS#12 files, you can detect potentially vulnerable files by checking the MAC key length in PKCS#12 files. However, no specific detection commands are provided in the available resources.

A practical approach might include using OpenSSL commands to inspect PKCS#12 files, for example:

  • openssl pkcs12 -info -in <file.p12> -nodes
  • openssl pkcs12 -in <file.p12> -noout -info

These commands can help you examine the contents and metadata of PKCS#12 files, but they do not directly report on PBMAC1 key length. Custom scripts or tools would be needed to parse and validate the PBMAC1 key length specifically.

Mitigation Strategies

The immediate mitigation step is to update OpenSSL to a version that includes the fix for CVE-2026-34181. The fix enforces a minimum PBMAC1 key length of 20 bytes, preventing acceptance of forged PKCS#12 files with short MAC keys.

If updating is not immediately possible, consider restricting or disabling the acceptance of PKCS#12 files that use PBMAC1 authentication, especially those that are unencrypted or use weak MAC keys.

Additionally, review and audit any services that process PKCS#12 files to ensure they do not accept files with weak PBMAC1 keys or untrusted certificates.

Applying the patch that enforces the minimum key length aligns with RFC 9879 and is the definitive fix.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-34181. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart