Impact
The vulnerability arises from incomplete comparison checks in the getRandomBigIntegerZeroToMax and getRandomBigIntegerMinToMax functions, causing the library to accept out‑of‑range candidates and bias DSA nonces during signature generation. As a result an attacker can recover the full private key used by the library, enabling them to forge signatures and potentially impersonate legitimate users. This flaw is a classic example of insecure random number generation (CWE‑338) combined with improper comparison logic (CWE‑1023).
Affected Systems
Packages of jsrsasign from version 7.0.0 up to 11.1.1, used in Node.js applications, are affected. The library is an open‑source cryptographic toolkit for JavaScript, widely incorporated in web and server‑side projects. Any project that relies on these versions inherits the vulnerability until a patched release is applied.
Risk and Exploitability
The CVSS score of 9.3 indicates critical severity, while the EPSS score of less than 1% suggests it is currently a low‑likelihood target. The vulnerability is not listed in the CISA KEV catalog, but the potential impact warrants immediate attention. An attacker would need access to an environment that uses the vulnerable functions for signature generation, so the attack vector is likely local or application‑level rather than remote exploitation. Promptly upgrading to a fixed release removes the risk; otherwise, limited controls can be applied as a temporary mitigant.
OpenCVE Enrichment
Github GHSA