Skip to main content

wolfSSL EUVDEUVD-2026-39552

| CVE-2026-10512 LOW
Incorrect Calculation (CWE-682)
2026-06-25 facts@wolfssl.com GHSA-gjm7-vch5-hch8
2.3
CVSS 4.0 · Vendor: wolfssl
View

Attack ChainAIDerived

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

  1. Access
    Identify wolfSSL x86_64 endpoint using X25519
  2. Delivery
    Construct public key yielding edge-case field element
  3. Exploit
    Initiate X25519 key exchange with crafted public key
  4. Execution
    Trigger missing mask in x64/AVX2 carry propagation
  5. Persist
    Non-canonical shared secret computed
  6. Impact
    Handshake failure or protocol error

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Calculation correctness
Exploitation Conditions

Exploitation requires all of the following: (1) the target runs wolfSSL compiled for x86_64 with Curve25519 assembly acceleration enabled (HAVE_CURVE25519 and the x64 or AVX2 asm routines compiled from fe_x25519_asm.S); (2) the attacker can participate in an X25519 key exchange with the target as a TLS or other protocol peer; (3) the public key contributed by the attacker, when combined with the target's private scalar in the Montgomery ladder, produces a field element in [2^255−19, 2^255) - the narrow non-canonical range that the missing masking AND would have corrected. Builds using the portable C field arithmetic path are unaffected regardless of platform. The CVSS 4.0 AC:H and AT:P ratings confirm this is not a default-configuration mass-exploitation scenario; reliable triggering requires mathematical construction of appropriate edge-case inputs.

Impact

The vendor-assigned CVSS 4.0 score of 2.3 accurately reflects the narrow real-world risk. AC:H and AT:P confirm that triggering the non-canonical path requires specific scalar/point combinations that produce field results near a multiple of the prime; mass exploitation against arbitrary sessions is not feasible. The impact metrics (VA:L on the vulnerable system, all others N) indicate the primary consequence is protocol failure - mismatched shared secrets cause handshake errors - rather than key material disclosure or arbitrary code execution. No EPSS data is available in the provided intelligence, but the low CVSS score and absence from CISA KEV are consistent with a low exploitation probability. The security relevance is bounded: unless a higher-layer protocol exposes a side channel or insecure fallback when the key exchange fails, the flaw degrades availability rather than compromising confidentiality or integrity. No such chained scenario is supported by the available data. Overall this is a cryptographic correctness defect with limited security severity, prioritized for x86_64 wolfSSL deployments using the Curve25519 key-exchange path.

Exploit ScenarioDerived

A network peer participating in an X25519-based key exchange (for example, TLS 1.3) with a wolfSSL x86_64 endpoint sends a crafted ephemeral public key selected so that the server's scalar multiplication result falls in the non-canonical range [2^255−19, 2^255). The wolfSSL endpoint computes a wrong shared secret due to the unmasked top bit; the derived session keys diverge from the peer's, and the handshake fails. Constructing a suitable public key requires non-trivial number-theoretic calculation, and no public exploit code has been identified at time of analysis.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
No patch listed yet 0.2% 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 x86_64 Curve25519 scalar multiplication yields a non-canonical shared secret when carry propagation overflows into bit 255 during final modular reduction, producing a result in [p, 2^255) rather than the required canonical range [0, p). Both the x64 and AVX2 hand-written assembly paths in fe_x25519_asm.S are affected, and only specific edge-case scalar/point combinations trigger the flaw. wolfSSL self-reported this correctness defect and published a fix via GitHub PR #10536; no public exploit exists and the vulnerability is absent from CISA KEV.

RemediationAI

Apply the patch from GitHub PR #10536 (https://github.com/wolfSSL/wolfssl/pull/10536), which adds four andq masking instructions in fe_x25519_asm.S to clear the overflow bit after the final carry propagation in the base x64, x64, base AVX2, and AVX2 reduction routines. The specific patched tagged release version is not yet confirmed in the available data; monitor https://www.wolfssl.com/docs/security-vulnerabilities/ and the wolfSSL GitHub releases page for a formal version announcement before deploying. As a compensating control where assembly acceleration can be toggled at build time, recompiling wolfSSL without x86_64 Curve25519 assembly (falling back to the portable C field arithmetic implementation) eliminates the affected code paths entirely, at the cost of reduced Curve25519 throughput on x86_64 hosts. Organizations should confirm whether their wolfSSL build enables HAVE_CURVE25519 and assembly-optimized field arithmetic, as builds without those features are not affected.

Affected VersionsENISA

wolfSSL 5.6.4 ≤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

X25519 (RFC 7748) performs scalar multiplication in the prime field GF(2^255−19). After the main field multiplication and carry propagation, the result must be fully reduced so every field element lies in [0, p). wolfSSL's x86_64 assembly file wolfcrypt/src/fe_x25519_asm.S implements four code paths - base x64, x64, base AVX2, and AVX2 - each containing a final carry-propagation chain. A residual carry from that chain could propagate into the top limb registers (%r10, %r11, %r11, %r12), setting bit 255 and leaving the 255-bit field element non-canonical. The required masking AND instruction was absent at all four sites. CWE-682 (Incorrect Calculation) correctly characterizes the root cause: the arithmetic is performed but the result is not normalized to the canonical field-element representation, violating the invariant expected by callers. The 'Buffer Overflow' NVD tag is a mis-categorization - this flaw is a missing bitwise mask, not a memory overread or overwrite.

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.3 LOW
CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
vuln.today AI 3.7 LOW

Any unauthenticated network peer can initiate X25519 key exchange (PR:N); specific edge-case inputs required (AC:H); impact is wrong shared secret causing connection failure only (A:L), no key disclosure.

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

Primary rating from Vendor (wolfssl).

CVSS VectorVendor: wolfssl

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

DescriptionCVE.org

The X25519 x86_64 assembly implementation fails to clear the most significant bit during the final modular reduction, so the computed result may not be fully reduced modulo the field prime 2^255 - 19. This can leave the field element in a non-canonical form, producing an incorrect result from the scalar multiplication and potentially a wrong shared secret. The final carry-propagation chains in the x64 and AVX2 reduction routines could overflow into the top bit, and the high limb was not masked afterward, so the 255-bit field element was left non-canonical.

Threat Intelligence Overview

EPSS Score
0.2%
Top 87% exploitable
Prevalence
Medium
popular embedded and IoT TLS library, widely deployed in firmware
Data Quality
6 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.2%
Patch available No
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
Open
Automatable
No
Human Impact· derived
Low
Technical Impact
Partial

Priority Score

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

Attack Technique

A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.

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