CVE-2026-73567
Critical · 9.1CVSS
9.1
EPSS
0.4%
Published
Aug 13, 2026
CISA due date
—
The record
sm-crypto provides JavaScript implementations of the Chinese cryptographic algorithms SM2, SM3, and SM4. Prior to 0.5.0, the default no-argument sm2.generateKeyPairHex() path in Node.js uses the module-wide SecureRandom instance in src/sm2/utils.js, supplied by jsbn@1.1.0, which seeds an ARC4 stream from Math.random() and new Date().getTime() because window.crypto.getRandomValues is unavailable even though globalThis.crypto exists. An attacker who can observe the process's Math.random() outputs and estimate the key-generation time can reconstruct the seed, recover generated SM2 private keys, and predict signing ephemeral scalars used to forge signatures. This issue is fixed in version 0.5.0.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|
Related vulnerabilities
- CVE-2026-118986 CallBackery versions before 0.62.0 for Perl allow session cookie forgery via a signing… CWE-338
- CVE-2026-102813 An authentication flaw exists in the password-recovery functionality of TP-Link RE305 V3. CWE-338
- CVE-2026-74887 openssl_encrypt before 1.4.0 imports Python's non-cryptographic 'random' module (Mersenne… CWE-338
- CVE-2026-71851 crypto-js is a JavaScript library of crypto standards. CWE-338
- CVE-2026-9205 IBM Langflow OSS contains a weak cryptographic key derivation vulnerability in the… CWE-338
- CVE-2026-47882 When enabling Spring Boot DevTools support for a remote application target (for example a… CWE-338
- CVE-2026-64798 Joomla Extension - regularlabs.com - Insecure login URL keys in IP login extension… CWE-338
- CVE-2026-16615 A flaw was found in librest. CWE-338