Vulnerability Details CVE-2026-77696
Issue summary: SM2 signature generation uses non-constant-time arithmetic
on secret values, forming a timing side-channel.
Impact summary: An attacker able to measure SM2 signing times may learn
information about the per-signature secret nonce, which over many signatures
can, via a lattice / Hidden Number Problem attack, lead to recovery of the
private key.
CWE: CWE-208: Observable Timing Discrepancy
Description: SM2 signature generation computes the signature value using
variable-time BIGNUM operations on the secret nonce and the private key, so
the time taken to produce an SM2 signature depends on these secret values,
forming a timing side-channel.
Applications performing SM2 signature generation are affected on all
platforms.
FIPS Impact: no
SM2 is not a FIPS algorithm.
Exploit prediction scoring system (EPSS) score
EPSS Score 0.002
EPSS Ranking 14.3%
CVSS Severity
CVSS v3 Score 3.7
Products affected by CVE-2026-77696
-
cpe:2.3:a:openssl:openssl:1.1.1
-
cpe:2.3:a:openssl:openssl:1.1.1a
-
cpe:2.3:a:openssl:openssl:1.1.1b
-
cpe:2.3:a:openssl:openssl:1.1.1c
-
cpe:2.3:a:openssl:openssl:1.1.1d
-
cpe:2.3:a:openssl:openssl:1.1.1e
-
cpe:2.3:a:openssl:openssl:1.1.1f
-
cpe:2.3:a:openssl:openssl:1.1.1g
-
cpe:2.3:a:openssl:openssl:1.1.1h
-
cpe:2.3:a:openssl:openssl:1.1.1i
-
cpe:2.3:a:openssl:openssl:1.1.1j
-
cpe:2.3:a:openssl:openssl:1.1.1k
-
cpe:2.3:a:openssl:openssl:1.1.1l
-
cpe:2.3:a:openssl:openssl:1.1.1m
-
cpe:2.3:a:openssl:openssl:1.1.1n
-
cpe:2.3:a:openssl:openssl:1.1.1o
-
cpe:2.3:a:openssl:openssl:1.1.1p
-
cpe:2.3:a:openssl:openssl:1.1.1q
-
cpe:2.3:a:openssl:openssl:1.1.1r
-
cpe:2.3:a:openssl:openssl:1.1.1s
-
cpe:2.3:a:openssl:openssl:1.1.1t
-
cpe:2.3:a:openssl:openssl:1.1.1u
-
cpe:2.3:a:openssl:openssl:1.1.1v
-
cpe:2.3:a:openssl:openssl:1.1.1w
-
cpe:2.3:a:openssl:openssl:1.1.1x
-
cpe:2.3:a:openssl:openssl:1.1.1ze
-
cpe:2.3:a:openssl:openssl:1.1.1zg
-
cpe:2.3:a:openssl:openssl:1.1.1zh
-
cpe:2.3:a:openssl:openssl:3.0.0
-
cpe:2.3:a:openssl:openssl:3.0.1
-
cpe:2.3:a:openssl:openssl:3.0.10
-
cpe:2.3:a:openssl:openssl:3.0.11
-
cpe:2.3:a:openssl:openssl:3.0.12
-
cpe:2.3:a:openssl:openssl:3.0.13
-
cpe:2.3:a:openssl:openssl:3.0.14
-
cpe:2.3:a:openssl:openssl:3.0.15
-
cpe:2.3:a:openssl:openssl:3.0.19
-
cpe:2.3:a:openssl:openssl:3.0.2
-
cpe:2.3:a:openssl:openssl:3.0.20
-
cpe:2.3:a:openssl:openssl:3.0.21
-
cpe:2.3:a:openssl:openssl:3.0.22
-
cpe:2.3:a:openssl:openssl:3.0.3
-
cpe:2.3:a:openssl:openssl:3.0.4
-
cpe:2.3:a:openssl:openssl:3.0.5
-
cpe:2.3:a:openssl:openssl:3.0.6
-
cpe:2.3:a:openssl:openssl:3.0.7
-
cpe:2.3:a:openssl:openssl:3.0.8
-
cpe:2.3:a:openssl:openssl:3.0.9
-
cpe:2.3:a:openssl:openssl:3.4.0
-
cpe:2.3:a:openssl:openssl:3.4.1
-
cpe:2.3:a:openssl:openssl:3.4.2
-
cpe:2.3:a:openssl:openssl:3.4.3
-
cpe:2.3:a:openssl:openssl:3.4.4
-
cpe:2.3:a:openssl:openssl:3.4.5
-
cpe:2.3:a:openssl:openssl:3.4.6
-
cpe:2.3:a:openssl:openssl:3.4.7
-
cpe:2.3:a:openssl:openssl:3.5.0
-
cpe:2.3:a:openssl:openssl:3.5.1
-
cpe:2.3:a:openssl:openssl:3.5.2
-
cpe:2.3:a:openssl:openssl:3.5.3
-
cpe:2.3:a:openssl:openssl:3.5.4
-
cpe:2.3:a:openssl:openssl:3.5.5
-
cpe:2.3:a:openssl:openssl:3.5.6
-
cpe:2.3:a:openssl:openssl:3.5.7
-
cpe:2.3:a:openssl:openssl:3.5.8
-
cpe:2.3:a:openssl:openssl:3.6.0
-
cpe:2.3:a:openssl:openssl:3.6.1
-
cpe:2.3:a:openssl:openssl:3.6.2
-
cpe:2.3:a:openssl:openssl:3.6.3
-
cpe:2.3:a:openssl:openssl:3.6.4
-
cpe:2.3:a:openssl:openssl:4.0.0
-
cpe:2.3:a:openssl:openssl:4.0.2