CVE-2026-54875
LowCVSS 3.7Exploitation Probability (EPSS)
Low risk20th percentile - higher than 20% of all known CVEs
Summary
OpenSSL's optimized scalar point multiplication implementation for SM2 private key operations on ARM64 and RISC-V platforms is not constant-time. Conditional branches and table lookups depend on the bits of the secret scalar, so execution time and cache-access patterns leak information about the private key or signature nonce.
Risk Assessment
An attacker able to measure timing or observe cache-line access patterns during SM2 signing or decryption can learn information about the secret scalar. This affects OpenSSL 4.0, 3.6, 3.5 and 3.4 on AArch64 and RISC-V platforms.
Recommendation
Upgrade OpenSSL to a fixed version: 4.0.3, 3.6.5, 3.5.9 or 3.4.8 depending on your branch. OpenSSL 3.0, 1.1.1 and 1.0.2 are not affected by this issue.
Other vulnerabilities in OpenSSL
See all- CVE-2016-8610High
A denial of service flaw was found in OpenSSL 0.9.8, 1.0.1, 1.0.2 through 1.0.2h, and 1.1.0 in the way the TLS/SSL protocol defined processing of ALERT packets during a connection handshake. A remote attacker could use this flaw to make a TLS/SSL server consume an excessive amount of CPU and fail to accept connections from other clients.
- CVE-2017-3731High
CVE-2017-3731 affects SSL/TLS servers and clients running on 32-bit hosts that may crash due to an out-of-bounds read caused by a truncated packet. For OpenSSL 1.1.0, the crash can be triggered using the CHACHA20/POLY1305 cipher, and for OpenSSL 1.0.2 using RC4-MD5.
- CVE-2017-3730High
In OpenSSL 1.1.0 before 1.1.0d, a malicious server can supply bad parameters for a DHE or ECDHE key exchange, leading to the client attempting to dereference a NULL pointer, resulting in a client crash.
- CVE-2016-7054High
In OpenSSL 1.1.0 before 1.1.0c, TLS connections using *-CHACHA20-POLY1305 ciphersuites are susceptible to a DoS attack by corrupting larger payloads. This can result in an OpenSSL crash.
- CVE-2016-7052High
OpenSSL 1.0.2i has a vulnerability that allows remote attackers to cause application crashes by triggering a CRL operation, leading to a NULL pointer dereference.
- CVE-2016-6305High
The ssl3_read_bytes function in OpenSSL 1.1.0 before version 1.1.0a allows remote attackers to cause a denial of service (infinite loop) by triggering a zero-length record in an SSL_peek call.
- CVE-2016-6304High
Multiple memory leaks in t1_lib.c in OpenSSL before 1.0.1u, 1.0.2 before 1.0.2i, and 1.1.0 before 1.1.0a allow remote attackers to cause a denial of service (memory consumption) via large OCSP Status Request extensions.
- CVE-2016-6302High
The tls_decrypt_ticket function in OpenSSL before 1.1.0 does not consider the HMAC size during validation of the ticket length, allowing remote attackers to cause a denial of service via a ticket that is too short.
- CVE-2016-2179High
The DTLS implementation in OpenSSL before 1.1.0 does not properly restrict the lifetime of queue entries associated with unused out-of-order messages. This allows remote attackers to cause a denial of service (memory consumption) by maintaining many crafted DTLS sessions simultaneously.
- CVE-2016-2176High
The X509_NAME_oneline function in OpenSSL before 1.0.1t and 1.0.2 before 1.0.2h allows remote attackers to obtain sensitive information from process stack memory or cause a denial of service (buffer over-read) via crafted EBCDIC ASN.1 data.
Original NVD description (English source)
Issue summary: A non-constant-time optimized implementation of scalar point multiplication is used for SM2 private key operations on ARM64 and RISC-V platforms. Impact summary: An attacker able to measure the time taken by, or to observe the cache-line access pattern of SM2 signing or decryption on an affected platform can learn information about the secret scalar. CWE: CWE-208: Observable Timing Discrepancy Description: On ARM64 and RISC-V processors, the SM2 curve uses an optimized scalar multiplication implementation whose conditional branches and table look ups are chosen according to the bits of the secret scalar. The execution time and the cache-access pattern therefore depend on the long-term private key (during SM2 decryption) or the per-signature nonce (during SM2 signature generation), forming a timing and cache side-channel. FIPS Impact: no SM2 is not a FIPS algorithm and the optimized SM2 implementation is not part of the FIPS module. OpenSSL 4.0, 3.6, 3.5 and 3.4 are vulnerable to this issue on AArch64 and RISC-V. OpenSSL 3.0, 1.1.1 and 1.0.2 are not affected by this issue. OpenSSL 4.0 users should upgrade to OpenSSL 4.0.3. OpenSSL 3.6 users should upgrade to OpenSSL 3.6.5. OpenSSL 3.5 users should upgrade to OpenSSL 3.5.9. OpenSSL 3.4 users should upgrade to OpenSSL 3.4.8. This issue was reported on 2 May 2026 by Abhinav Agarwal. It was independently reported on 6 June 2026 by Feng Xue. The fix was developed by Igor Ustinov. -- cut (non-publishing metadata for internal use) -- Reported by: Abhinav Agarwal, Feng Xue Fixed by: Igor Ustinov
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

