OpenSSL: Non-Constant-Time SM2 Scalar Multiplication on ARM64 and RISC-V
What fixes it
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
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
Text from CVE List
Affected versions 4
- OpenSSLaffected: 4.0.0 before 4.0.3CVE List
- OpenSSLaffected: 3.6.0 before 3.6.5CVE List
- OpenSSLaffected: 3.5.0 before 3.5.9CVE List
- OpenSSLaffected: 3.4.0 before 3.4.8CVE List
References 5
- github.com/openssl/openssl/commit/9794ed473764839275cb701b4850f3c24d929c28Fixvia CVE List
- github.com/openssl/openssl/commit/dddad955d5ff3e9507619cf4e0f13e9988e2197cFixvia CVE List
- github.com/openssl/openssl/commit/469f3e42629f4a0b5631796e20c66c92c138a3e8Fixvia CVE List
- github.com/openssl/openssl/commit/3f01bbc28f7e08211fcdc797fd43816504f94257Fixvia CVE List
- openssl-library.org/news/secadv/20260929.txtAdvisoryvia CVE List