Safeguard
Vulnerability Analysis•

CVE-2026-6094: wolfSSL PKCS7 EnvelopedData Heap Overread

CVE-2026-6094 is a heap buffer overread in wolfSSL wc_PKCS7_DecodeEnvelopedData. wolfSSL lists it as fixed in 5.9.2, so upgrade if you parse S/MIME or CMS.

Safeguard Security Team
3 min read

CVE-2026-6094 is a heap buffer overread (CVSS 9.1 in the record) in wolfSSL, in wc_PKCS7_DecodeEnvelopedData when it parses crafted PKCS7 EnvelopedData. wolfSSL lists the fix in version 5.9.2 and rates it Medium. Upgrade if your product parses S/MIME or CMS messages.

What's affected

  • Product: wolfSSL, the embedded TLS and crypto library.
  • Function: wc_PKCS7_DecodeEnvelopedData, reached when parsing PKCS7 EnvelopedData.
  • Fixed: version 5.9.2, according to the wolfSSL vulnerabilities page, which links the fix as pull request 10128.
  • Weakness: CWE-125, out of bounds read. CVSS 9.1 (critical) in the record, vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H.
  • wolfSSL's own page rates it Medium and describes the trigger as theoretical: attacker supplied data delivered through S/MIME or CMS.

How to check if you're exposed

Most exposure comes from firmware and products that embed wolfSSL, so start by finding the version.

# If the library is installed as a package
pkg-config --modversion wolfssl 2>/dev/null
# In source, the version macro lives in wolfssl/version.h
grep LIBWOLFSSL_VERSION_STRING wolfssl/version.h

Then ask whether PKCS7 support is built in and used. The affected function belongs to the PKCS7 API, so builds without it are not exposed to this path. For vendor products that embed wolfSSL, ask the vendor which version they ship.

What to do now

  1. Find every product and image that bundles wolfSSL, and note the version.
  2. Upgrade to 5.9.2 or later.
  3. If you cannot upgrade, check whether your build enables PKCS7 and whether you parse EnvelopedData from outside sources.
  4. Ask vendors of embedded devices for their wolfSSL version and update plan.

Why it matters

A heap overread reads past the end of an allocated buffer. The result can be a crash or a leak of nearby memory, depending on what lies there. Parsers for complex formats like PKCS7 and CMS are classic places for this, because the lengths come from the data itself.

The two ratings differ. The record's score is 9.1 because the vector assumes network reach with no login. wolfSSL calls it Medium and its text says it could theoretically be triggered. Use both: patch promptly, and judge urgency by whether you really parse untrusted PKCS7 data. The record's KEV flag is false.

Try it yourself

Click through it at your own pace, or open it full screen.

Quick check

Why do the severity ratings differ?

The record scores the worst case on the network vector, while wolfSSL rates it Medium and calls the trigger theoretical.

Which version fixes it?

wolfSSL 5.9.2, per the wolfSSL vulnerabilities page.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.