Executive brief
wolfSSL is a security library used to protect data and communications in embedded devices and cloud applications. A flaw in how it handles PKCS#12 files (commonly used for storing certificates and keys) allows an attacker to bypass integrity checks by providing a specially crafted file with a shortened or empty security code. This could allow an attacker to modify sensitive cryptographic data without the system detecting the tampering.
Technical details
A vulnerability exists in wolfSSL's PKCS#12 MAC verification path within 'wolfcrypt/src/pkcs12.c'. The implementation compares the locally computed HMAC against the MAC parsed from the PKCS#12 structure using a length value provided in the attacker-supplied input. Because the library fails to verify that this length matches the expected digest size of the configured algorithm, an attacker can provide a truncated or zero-length MAC that will be accepted as valid. This effectively defeats the integrity protection of the PKCS#12 container. The issue is addressed in wolfSSL version 5.9.1.
Affected products
- wolfSSL wolfSSL 3.10.0 to 5.9.1
Timeline
- 2026-04-15: patched: Fix merged into wolfSSL master branch via Pull Request 10192
- 2026-06-25: advisory: NVD and vendor advisory published