Issue summary: A timing side-channel which could potentially allow remote recovery of the private key exists in the SM2 algorithm implementation on 64 bit ARM platforms.
Impact summary: A timing side-channel in SM2 signature computations on 64 bit ARM platforms could allow recovering the private key by an attacker..
While remote key recovery over a network was not attempted by the reporter, timing measurements revealed a timing signal which may allow such an attack.
OpenSSL does not directly support certificates with SM2 keys in TLS, and so this CVE is not relevant in most TLS contexts. However, given that it is possible to add support for such certificates via a custom provider, coupled with the fact that in such a custom provider context the private key may be recoverable via remote timing measurements, we consider this to be a Moderate severity issue.
The FIPS modules in 3.5, 3.4, 3.3, 3.2, 3.1 and 3.0 are not affected by this issue, as SM2 is not an approved algorithm.
{
"cna_assigner": "openssl",
"cwe_ids": [
"CWE-385"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/9xxx/CVE-2025-9231.json"
}{
"extracted_events": [
{
"cpe": "cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "1.0.2"
},
{
"fixed": "1.0.2zm"
}
],
"source": "CPE_RANGE"
}
]
}
{
"extracted_events": [
{
"cpe": "cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "1.1.1"
},
{
"fixed": "1.1.1zd"
}
],
"source": "CPE_RANGE"
}
]
}
{
"extracted_events": [
{
"cpe": "cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "1.0.2"
},
{
"fixed": "1.0.2zm"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "1.1.1"
},
{
"fixed": "1.1.1zd"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "3.0.0"
},
{
"fixed": "3.0.18"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "3.2.0"
},
{
"fixed": "3.2.6"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "3.3.0"
},
{
"fixed": "3.3.5"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "3.4.0"
},
{
"fixed": "3.4.3"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "3.5.0"
},
{
"fixed": "3.5.4"
}
],
"source": "CPE_RANGE"
},
{
"range": [
{
"fixed": "567f64386e43683888212226824b6a179885a0fe"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "cba616c26ac8e7b37de5e77762e505ba5ca51698"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "eed5adc9f969d77c94f213767acbb41ff923b6f4"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "fc47a2ec078912b3e914fab5734535e76c4820c2"
}
],
"source": "REFERENCES_COMMIT"
}
]
}
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-9231.json"
[
{
"deprecated": false,
"digest": {
"function_hash": "228975674964673153327344367611195603813",
"length": 1413
},
"id": "CVE-2025-9231-0a173897",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/openssl/openssl/commit/eed5adc9f969d77c94f213767acbb41ff923b6f4",
"target": {
"file": "crypto/ec/ecp_sm2p256.c",
"function": "EC_GFp_sm2p256_method"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "42797208737688127763066522181332281160",
"length": 507
},
"id": "CVE-2025-9231-17161750",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/kzalewski/openssl-1.1.1/commit/9ad69b994ae7c73ba06d9f75efd2625102de814c",
"target": {
"file": "test/ec_internal_test.c",
"function": "setup_tests"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"246421341653923193586783108578436995594",
"165531523737299840919921065590355522697",
"18229344054124728427593867306425443651",
"24266715163726303181486152260821359716",
"7395405381188139375821676029670613492",
"45412430000582672495337306435173847003",
"235876622437882869915650874338137663887",
"235876622437882869915650874338137663887",
"186708629684641006598401669327723483366",
"263307798859667681852006462056982872272",
"204829054929762304879144137237214260511",
"228312666475207087463597735904232822597"
],
"threshold": 0.9
},
"id": "CVE-2025-9231-1c441952",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/openssl/openssl/commit/fc47a2ec078912b3e914fab5734535e76c4820c2",
"target": {
"file": "crypto/ec/ecp_sm2p256.c"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"230361427007416664995616424352791763469",
"68454496777232705137616949383570055801",
"174227485603324825134703660955423564225",
"306374039697804480350160125378658725435",
"223787537721903344733141597182001711142",
"305852724676774806958748002571762917320",
"61902118637910596077004663207701223681",
"278724473247779637198513168995006009135",
"150804929727413209120953746872414715465",
"166774358343717215765245239236385866693",
"116293081894868411264108492273509366961",
"326496170417124709669304286305887789679",
"278306348133167756990680493182074324125",
"189649085256091224929149730235838635518",
"82945606976757935725900546138315651129",
"136187505923069729147869676886657763243",
"233447734599456461300796481665382809870",
"116930820689846462220149337293161556595",
"153181275943870954612030432229689150702",
"65985025876624501603393736976041980125"
],
"threshold": 0.9
},
"id": "CVE-2025-9231-3349f255",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/kzalewski/openssl-1.1.1/commit/9ad69b994ae7c73ba06d9f75efd2625102de814c",
"target": {
"file": "crypto/bn/bn_gf2m.c"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "30673062630639656303483208802482655434",
"length": 494
},
"id": "CVE-2025-9231-4f7f516c",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/kzalewski/openssl-1.1.1/commit/9ad69b994ae7c73ba06d9f75efd2625102de814c",
"target": {
"file": "crypto/bn/bn_gf2m.c",
"function": "BN_GF2m_poly2arr"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "228975674964673153327344367611195603813",
"length": 1413
},
"id": "CVE-2025-9231-9e687c2e",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/openssl/openssl/commit/cba616c26ac8e7b37de5e77762e505ba5ca51698",
"target": {
"file": "crypto/ec/ecp_sm2p256.c",
"function": "EC_GFp_sm2p256_method"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "228975674964673153327344367611195603813",
"length": 1413
},
"id": "CVE-2025-9231-c06aeee8",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/openssl/openssl/commit/567f64386e43683888212226824b6a179885a0fe",
"target": {
"file": "crypto/ec/ecp_sm2p256.c",
"function": "EC_GFp_sm2p256_method"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"28170854778703993674264004058177114599",
"73132526844288570625317440636111911761",
"177405411499435185068645597737938634778",
"224809958623850711330610094965797758930",
"295554444428855106393106961197201359586"
],
"threshold": 0.9
},
"id": "CVE-2025-9231-c377fa22",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/openssl/openssl/commit/e04bd3433fd84e1861bf258ea37928d9845e6a86",
"target": {
"file": "include/openssl/opensslv.h"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"246421341653923193586783108578436995594",
"165531523737299840919921065590355522697",
"18229344054124728427593867306425443651",
"24266715163726303181486152260821359716",
"7395405381188139375821676029670613492",
"45412430000582672495337306435173847003",
"235876622437882869915650874338137663887",
"235876622437882869915650874338137663887",
"186708629684641006598401669327723483366",
"263307798859667681852006462056982872272",
"204829054929762304879144137237214260511",
"228312666475207087463597735904232822597"
],
"threshold": 0.9
},
"id": "CVE-2025-9231-cea2ed68",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/openssl/openssl/commit/eed5adc9f969d77c94f213767acbb41ff923b6f4",
"target": {
"file": "crypto/ec/ecp_sm2p256.c"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"251633914150035957322733061977107206211",
"338514574181828579838011565939158652696",
"76638288692106140328510055542557597351",
"142922657400765574308962710386922248045",
"71649992455794854055653842592139575350",
"65527166711110472566013424527579064967",
"253196866009476977787139000804413898733",
"172177136897997206866313011107384691461"
],
"threshold": 0.9
},
"id": "CVE-2025-9231-e051451f",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/openssl/openssl/commit/e818b74be2170fbe957a07b0da4401c2b694b3b8",
"target": {
"file": "crypto/opensslv.h"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "228975674964673153327344367611195603813",
"length": 1413
},
"id": "CVE-2025-9231-e50bd482",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/openssl/openssl/commit/fc47a2ec078912b3e914fab5734535e76c4820c2",
"target": {
"file": "crypto/ec/ecp_sm2p256.c",
"function": "EC_GFp_sm2p256_method"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"246421341653923193586783108578436995594",
"165531523737299840919921065590355522697",
"18229344054124728427593867306425443651",
"24266715163726303181486152260821359716",
"7395405381188139375821676029670613492",
"45412430000582672495337306435173847003",
"235876622437882869915650874338137663887",
"235876622437882869915650874338137663887",
"186708629684641006598401669327723483366",
"263307798859667681852006462056982872272",
"204829054929762304879144137237214260511",
"228312666475207087463597735904232822597"
],
"threshold": 0.9
},
"id": "CVE-2025-9231-e65977eb",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/openssl/openssl/commit/cba616c26ac8e7b37de5e77762e505ba5ca51698",
"target": {
"file": "crypto/ec/ecp_sm2p256.c"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"202560716467995180801900703314012126638",
"231076714992210239911677876085986544653",
"119476550149019858610160764241585512883",
"237713134421560846878241190267682686452",
"291912177671523663250360670212314966717",
"148718397703357758449784276736258891876",
"8308956487359903771982894414540058331",
"219665286569007368979236427780197060159"
],
"threshold": 0.9
},
"id": "CVE-2025-9231-f19f6747",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/kzalewski/openssl-1.1.1/commit/9ad69b994ae7c73ba06d9f75efd2625102de814c",
"target": {
"file": "test/ec_internal_test.c"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"246421341653923193586783108578436995594",
"165531523737299840919921065590355522697",
"18229344054124728427593867306425443651",
"24266715163726303181486152260821359716",
"7395405381188139375821676029670613492",
"45412430000582672495337306435173847003",
"235876622437882869915650874338137663887",
"235876622437882869915650874338137663887",
"186708629684641006598401669327723483366",
"263307798859667681852006462056982872272",
"204829054929762304879144137237214260511",
"228312666475207087463597735904232822597"
],
"threshold": 0.9
},
"id": "CVE-2025-9231-f8a11680",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/openssl/openssl/commit/567f64386e43683888212226824b6a179885a0fe",
"target": {
"file": "crypto/ec/ecp_sm2p256.c"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"215474658839038190857768659117172798903",
"224789752300883698945153787266757617261",
"56494159630746388130037307952134413004",
"164370382436795402003615230331141913984",
"149153318460680570484795927015804201404"
],
"threshold": 0.9
},
"id": "CVE-2025-9231-fa870959",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/kzalewski/openssl-1.1.1/commit/9ad69b994ae7c73ba06d9f75efd2625102de814c",
"target": {
"file": "include/openssl/opensslv.h"
}
}
]
"2026-11-11T13:19:31Z"