CVE-2026-11703 - wolfSSL SNI/ALPN session resumption binding bypass

CVE-2026-11703 + wolfSSL SNI/ALPN session resumption binding bypass + High + 2026-06-25

One-sentence business risk

A cached TLS client-auth state can cross virtual-host boundaries, which can turn tenant or admin separation into an authentication incident.

Research notes

  • Root cause: Missing SNI/ALPN binding on stateful (session-ID) resumption, which previously skipped the binding check performed for ticket-based resumption.
  • Affected versions: wolfSSL 3.15.0 through 5.9.1 when stateful session-ID resumption is enabled across virtual hosts.
  • Fixed / safe versions: wolfSSL 5.9.2 or PR 10489.
  • Public exploit / PoC signal: public PoC or exploit details are referenced by NVD; use only safe regression tests and do not execute exploit payloads against production.
  • CVSS: 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N.

Exact vulnerable code pattern

if (session_id_cache_hit(session)) {
    restore_peer_authentication(session);
    accept_resumption(); // SNI/ALPN not compared
}

Fixed / mitigated code pattern

if (session_id_cache_hit(session)) {
    if (!same_sni(session, client_hello) || !same_alpn(session, client_hello))
        decline_resumption_and_full_handshake();
    restore_peer_authentication(session);
}

Dependency or runtime update:

rg -n "wolfSSL|DTLS|X509|ALPN|SNI" .
# update wolfSSL package/submodule to wolfSSL 5.9.2 or PR 10489
ctest --output-on-failure

Step-by-step integration guide

  1. Inventory wolfSSL in source, lockfiles, SBOMs, CI images, containers, deployment manifests, and managed runtimes.
  2. Upgrade or patch to wolfSSL 5.9.2 or PR 10489; if no upstream package is available, apply the local guard shown above and track the vendor release as a blocking follow-up.
  3. Replace every vulnerable tls-auth pattern with a fail-closed implementation that validates ownership, bounds, canonical paths, origin/session binding, or parser limits before acting.
  4. Add a regression test that reproduces the advisory shape safely and proves the request is rejected, bounded, or authorized.
  5. Deploy through canary, monitor auth, file, parser, crash, and CI-runner logs, then remove temporary edge blocks only after all runtimes are fixed.

Alternative mitigations

  • Disable the vulnerable feature path, decoder, plugin, runner backend, proxy agent, or route while the patch rolls out.
  • Add WAF/reverse-proxy rules for SQL metacharacters, traversal tokens, unsafe Docker flags, oversized/nested payloads, or unexpected session-origin transitions matching this trigger class.
  • Restrict egress and access to untrusted artifacts, SSH servers, media uploads, workflow execution, and administrative delegation until fixed versions are verified.
  • Rotate credentials and invalidate sessions if logs show the vulnerable path was reachable by untrusted users.

Detection signature

id: cve-2026-11703-wolfssl-sni-alpn-session-resumption-binding-bypa
source: NVD
package_or_product: "wolfSSL"
affected: "wolfSSL 3.15.0 through 5.9.1 when stateful session-ID resumption is enabled across virtual hosts"
fixed: "wolfSSL 5.9.2 or PR 10489"
cvss: "7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N"
signals:
  - "tls-auth"
  - "CVE-2026-11703"
  - "wolfSSL"
action: "upgrade, add a regression test, and verify deploy artifact"

Copy-paste skill

You are remediating CVE-2026-11703 (wolfSSL SNI/ALPN session resumption binding bypass) in this repository.

Produce a reviewer-ready PR or TRIAGE.md. Inventory wolfSSL across source, lockfiles, images, CI, deployment manifests, and SBOMs. Apply wolfSSL 5.9.2 or PR 10489. Replace the vulnerable tls-auth pattern with the fail-closed pattern, add a regression test for the advisory trigger, and document owner, rollout, rollback, and validation evidence. Do not run public exploit PoCs against production or expose secrets in logs.

Keywords, affected tech stack, and revenue tags

  • Keywords: CVE-2026-11703, tls-auth, wolfSSL, NVD.
  • Affected tech stack: c/c++.
  • Revenue tags: sellable_to_fintech, enterprise_blocker, high_priority_sla.

References