Impact
Versions of the jsrsasign package before 11.1.1 contain a flaw that allows an attacker to forge DSA signatures or X.509 certificates that the library’s verification functions will accept. By supplying malicious domain parameters – for example, setting the generator to 1, the public key to 1, and fixing the signature component r to 1 – the mathematical check performed by DSA.setPublic and X509.verifySignature passes for any hash. This undermines the integrity guarantees of authentication or data protection mechanisms that rely on JavaScript or Node.js code to validate signed data.
Affected Systems
All Node.js applications that depend on jsrsasign older than 11.1.1 and use its DSA or X.509 verification routines are affected. This includes any project that imports KJUR.crypto.DSA.setPublic or X509.verifySignature to verify signatures or certificates, regardless of deployment environment.
Risk and Exploitability
The flaw has a high CVSS score of 9.1, indicating severe potential impact if exploited. The probability of exploitation is currently low, but the vulnerability could be triggered remotely by supplying crafted data to any component that uses the library for signature or certificate verification. It is not listed in the national vulnerability inventory, yet the high severity warrants immediate action once the library is in use.
OpenCVE Enrichment
Github GHSA