Safeguard
Vulnerability Analysis•

CVE-2026-5503: Heap Overflow in wolfSSL ECH SNI Handling

CVE-2026-5503 is a heap buffer overflow in wolfSSL Encrypted Client Hello handling in TLSX_EchChangeSNI. Check the wolfSSL release notes and upgrade.

Safeguard Security Team
3 min read

CVE-2026-5503 is a critical heap buffer overflow (CVSS 9.1) in wolfSSL. In TLSX_EchChangeSNI, an attacker controlled public name can be attached to the shared context and not cleaned up, so the server writes 255 bytes past an allocation. The record gives no version, so check the wolfSSL release notes.

What's affected

  • wolfSSL, per the record. The record does not list affected or fixed versions.
  • The fix is in pull request 10102, which carries a label for release 5.9.4. The page does not confirm 5.9.4 as the release that ships the fix, so check the wolfSSL release notes and changelog.
  • The code paths involved are those for Encrypted Client Hello, so builds that do not enable that feature are unlikely to run them.

How to check if you're exposed

Find where wolfSSL is used. Check packages and vendored copies.

dpkg -l | grep -i wolfssl
rpm -qa | grep -i wolfssl
grep -r "LIBWOLFSSL_VERSION_STRING" /usr/include 2>/dev/null

Embedded products often ship wolfSSL inside firmware, so check vendor notices for devices too. Then find out whether your build enables Encrypted Client Hello. If you compile wolfSSL yourself, review your configure options.

What to do now

  1. Inventory every product and image that includes wolfSSL, including statically linked copies.
  2. Read the wolfSSL release notes for the version that includes the fix from pull request 10102, and move to it.
  3. Rebuild and redeploy anything that links wolfSSL statically.
  4. For devices, ask the vendor for a firmware update.
  5. If you do not need Encrypted Client Hello, consider leaving it disabled until you have updated.

Why it matters

The class is CWE-787, out-of-bounds write. The record explains a sizing mistake: the inner ClientHello was sized before the public name was attached to the shared context, but written after, so the copy ran 255 bytes beyond the buffer. A cleanup step was also skipped because its condition checked the wrong value.

Sequence bugs like this, where size is computed at one moment and data written at another, are a common source of overflows in protocol code. The vector shows no authentication, which is why the score is high. The record does not mark the CVE as exploited in the wild.

For your own projects, the free in-browser dependency scan needs no install, and the Gold directory tracks this CVE.

Quick check

Is 5.9.4 the fixed version?

Not confirmed. The pull request carries a 5.9.4 release label, but check the official wolfSSL release notes before you rely on it.

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.