Impact
A missing cryptographic validation step in the DSA signing routine allows an attacker to force the signature components r or s to zero. The library then emits an invalid signature and does not retry, exposing a deterministic relationship that enables the recovery of the private key by solving for x from the resulting signature. The vulnerability is therefore a severe confidentiality breach that exposes private keys used for signing.
Affected Systems
Node.js applications that use the jsrsasign library in versions prior to 11.1.1 are affected. The vulnerability applies to the jsrsasign project’s JavaScript implementation of DSA signing, and any deployment that imports that package without updating to the patched release is at risk.
Risk and Exploitability
The CVSS base score is 9.4, indicating critical severity, and the EPSS score is below 1 %, suggesting that while exploitation is possible, it is not yet widespread. The vulnerability is not listed in the CISA KEV catalog. The likely attack path involves an adversary supplying crafted message or hash data to the DSA.signWithMessageHash routine within the application; the attacker must be able to influence the input to trigger zero r or s values. The inference is that the attack requires either local code execution or the ability to supply data that reaches the signing function, but the vendor’s documentation does not provide additional constraints.
OpenCVE Enrichment
Github GHSA