Skip to main content

wolfSSL EUVDEUVD-2026-39573

| CVE-2026-6092 LOW
Selection of Less-Secure Algorithm During Negotiation ('Algorithm Downgrade') (CWE-757)
2026-06-25 wolfSSL GHSA-576m-xh9m-c774
2.1
CVSS 4.0 · Vendor: wolfSSL
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Attacker positions on adjacent network segment
  2. Delivery
    Client presents stale TLS 1.2 session ID to wolfSSL server
  3. Exploit
    Failed resumption leaves cipher_type zero-initialized before ETM check
  4. Execution
    ETM block clears encThenMac flag, silently negotiating MAC-then-Encrypt
  5. Persist
    Attacker captures CBC-mode TLS ciphertext
  6. Impact
    Lucky Thirteen timing side-channel recovers partial plaintext

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A04:2025 - Cryptographic Failures
ASVS 5.0
V11 - Cryptography Algorithm negotiation safety
Exploitation Conditions

All of the following conditions must be simultaneously present: (1) wolfSSL compiled with the HAVE_ENCRYPT_THEN_MAC compile-time flag; (2) TLS 1.2 in use - TLS 1.3 is not affected because ETM is not a negotiable extension in TLS 1.3; (3) a CBC-mode cipher suite negotiated between client and server (AEAD suites such as GCM or ChaCha20-Poly1305 are entirely unaffected); (4) the client sends a 32-byte session ID that is absent from the server's session cache, producing a failed resumption - this occurs naturally after server restarts, cache evictions, or load-balanced scenarios where sessions are not shared across nodes; (5) the attacker must be adjacent to the network to intercept and time the downgraded CBC connection for a subsequent Lucky Thirteen attack. The ETM downgrade is a passive race condition in the server's ClientHello parsing logic and does not require attacker-controlled network input to trigger; the stale session ID is client-generated. Per the CVSS 4.0 vector (PR:L), some level of access is indicated, though the exact authentication boundary is not further specified in the available description.

Impact

The CVSS 4.0 score of 2.1 with vector AV:A/AC:H/AT:P/PR:L/UI:N/VC:L accurately reflects genuinely limited real-world risk. Adjacent network attack vector (AV:A) means the attacker must be co-located on the same local segment - Internet-scale exploitation is not possible. High attack complexity (AC:H) and the prerequisite of a stale session ID (AT:P) add further barriers: the triggering condition requires a client to offer a session ID absent from the server's cache, which an attacker cannot reliably force without controlling client behavior. Confidentiality impact is Low (VC:L), consistent with partial plaintext recovery via Lucky Thirteen timing analysis rather than full session compromise. No active exploitation is confirmed - this CVE is not in CISA KEV - and no public PoC was identified at time of analysis; EPSS data was not provided in the input. The signal set consistently points to a real but low-probability, low-impact cryptographic downgrade. However, for wolfSSL deployments in sensitive adjacent-network contexts (embedded systems, IoT protocols, industrial control) where TLS 1.2 CBC suites are negotiated and HAVE_ENCRYPT_THEN_MAC is compiled in, patching is still warranted because the protection ETM provides is specifically designed for those CBC-mode environments.

Exploit ScenarioDerived

An adjacent-network attacker monitors TLS 1.2 connections to a wolfSSL server where a client presents a stale session ID - for example, after a server restart evicted the session cache - triggering the failed-resumption path and silently disabling ETM on the negotiated CBC-mode connection. With MAC-then-Encrypt now active instead of Encrypt-then-MAC, the attacker applies a Lucky Thirteen timing side-channel attack against intercepted ciphertext, using precise packet timing measurements to recover partial plaintext from the session. No public exploit code was identified at time of analysis; this attack class requires significant measurement precision and adjacent-network positioning.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jun 25, 2026

wolfSSL's TLS 1.2 handshake logic silently downgrades Encrypt-then-MAC (ETM) to MAC-then-Encrypt when a client presents a stale session ID during a failed resumption attempt, affecting all builds compiled with HAVE_ENCRYPT_THEN_MAC using CBC-mode cipher suites. This ETM extension silent-disable (CWE-757) exposes the downgraded connection to CBC-mode side-channel attacks such as Lucky Thirteen, exploitable by an adjacent-network attacker. No public exploit identified at time of analysis and no confirmed active exploitation; vendor patch is available upstream via PR #10167.

RemediationAI

Upgrade wolfSSL to the release that incorporates PR #10167 (https://github.com/wolfSSL/wolfssl/pull/10167); the exact patched version number is not independently confirmed from available data - consult the wolfSSL security advisories page at https://www.wolfssl.com/docs/security-vulnerabilities/ for the confirmed fixed release tag before deploying. As an immediate compensating control pending upgrade, restrict cipher suite configuration to AEAD-only suites (e.g., TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_CHACHA20_POLY1305_SHA256) via wolfSSL's cipher list API; since ETM applies only to CBC block ciphers, removing CBC suites entirely eliminates the vulnerable negotiation path - the trade-off is potential incompatibility with legacy TLS 1.2 clients that lack AEAD support. Alternatively, enforcing TLS 1.3 exclusively removes the affected code path at the protocol level, with the trade-off of dropping TLS 1.2 client compatibility. Disabling session ID-based resumption (using ticket-only resumption or disabling session cache) may also prevent the stale-resumption trigger condition, though this is a narrower mitigation and does not remove the underlying code defect.

Affected VersionsENISA

wolfSSL 5.2.0 ≤5.9.1

Affected Packages

euvd wolfssl no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

wolfSSL is a lightweight embedded TLS/SSL library written in C, widely used in IoT and resource-constrained devices. RFC 7366 defines Encrypt-then-MAC as a TLS extension that reverses the default MAC-then-Encrypt order in CBC cipher suites, mitigating the Lucky Thirteen class of timing side-channel attacks. The root cause (CWE-757: Selection of Less-Secure Algorithm During Negotiation) lies in src/internal.c: when a client sends a 32-byte session ID the server's DoClientHello parser sets ssl->options.resuming=1, but if HandleTlsResumption fails to find the session in the cache, resuming is cleared and ssl->specs.cipher_type remains zero-initialized (equivalent to 'stream', not 'block'). The original ETM decision block ran before MatchSuite and SetCipherSpecs could populate cipher_type, so the block-cipher guard evaluated false, clearing ssl->options.encThenMac to 0. Because the post-MatchSuite path only extends ETM, not re-enables it, the connection silently negotiated MAC-then-Encrypt for the rest of the session. The fix gates the ETM decision on ssl->options.resuming being confirmed true after HandleTlsResumption succeeds, ensuring cipher_type is valid before the check. Affected CPE: cpe:2.3:a:wolfssl:wolfssl:*:*:*:*:*:*:*:* with HAVE_ENCRYPT_THEN_MAC enabled.

Know when Wolfssl gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (wolfSSL) PRIMARY 2.1 LOW
CVSS:4.0/AV:A/AC:H/AT:P/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/U:Clear
vuln.today AI 2.6 LOW

Adjacent network required; high complexity due to stale-resumption prerequisite; low privileges per input vector; confidentiality-only partial impact from CBC side-channel; no integrity or availability impact.

3.1 AV:A/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N
4.0 AV:A/AC:H/AT:P/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (wolfSSL).

CVSS VectorVendor: wolfSSL

Attack Vector
Adjacent
Attack Complexity
High
Attack Requirements
Present
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

When HAVE_ENCRYPT_THEN_MAC is configured, the implementation could fall back to MAC-then-Encrypt rather than enforcing Encrypt-then-MAC.

Threat Intelligence Overview

EPSS Score
0.1%
Top 96% exploitable
Prevalence
Medium
popular embedded TLS library in IoT and constrained-device deployments
Social Media
1
Sightings
Data Quality
7 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity LOW
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation
None
System Exposure· derived
Controlled
Automatable
No
Human Impact· derived
Low
Technical Impact
Partial

Priority Score

10
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +10
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2017-13099 HIGH POC
7.5 Dec 13

wolfSSL prior to version 3.12.2 provides a weak Bleichenbacher oracle when any TLS cipher suite using RSA key exchange i

CVE-2017-2800 CRITICAL POC
9.8 May 24

A specially crafted x509 certificate can cause a single out of bounds byte overwrite in wolfSSL through 3.10.2 resulting

CVE-2026-89136 HIGH POC
8.3 Sep 27

Authentication bypass in wolfSSL TLS clients built with Raw Public Key (RPK) support allows a malicious or on-path serve

CVE-2026-93302 HIGH POC
8.3 Sep 27

wolfSSL builds that enable the WOLFSSL_TRUST_PEER_CERT macro can be induced to accept a forged clone of a trusted-peer C

CVE-2026-89102 HIGH POC
8.3 Sep 27

Certificate forgery in the wolfSSL client (versions 5.7.2 through 5.9.2) lets a remote attacker who already holds any ce

CVE-2015-6925 HIGH POC
7.5 Jan 22

wolfSSL (formerly CyaSSL) before 3.6.8 allows remote attackers to cause a denial of service (resource consumption or tra

CVE-2022-39173 HIGH POC
7.5 Sep 29

In wolfSSL before 5.5.1, malicious clients can cause a buffer overflow during a TLS 1.3 handshake. Rated high severity (

CVE-2022-38152 HIGH POC
7.5 Aug 31

An issue was discovered in wolfSSL before 5.5.0. Rated high severity (CVSS 7.5), this vulnerability is remotely exploita

CVE-2020-11713 HIGH POC
7.5 Apr 12

wolfSSL 4.3.0 has mulmod code in wc_ecc_mulmod_ex in ecc.c that does not properly resist timing side-channel attacks. Ra

CVE-2019-18840 HIGH POC
7.5 Nov 09

In wolfSSL 4.1.0 through 4.2.0c, there are missing sanity checks of memory accesses in parsing ASN.1 certificate data wh

CVE-2020-15309 HIGH POC
7.0 Aug 21

An issue was discovered in wolfSSL before 4.5.0, when single precision is not employed. Rated high severity (CVSS 7.0).

CVE-2020-24613 MEDIUM POC
6.8 Aug 24

wolfSSL before 4.5.0 mishandles TLS 1.3 server data in the WAIT_CERT_CR state, within SanityCheckTls13MsgReceived() in t

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy