Description
Versions of the package jsrsasign before 11.1.1 are vulnerable to Improper Verification of Cryptographic Signature via the DSA domain-parameter validation in KJUR.crypto.DSA.setPublic (and the related DSA/X509 verification flow in src/dsa-2.0.js). An attacker can forge DSA signatures or X.509 certificates that X509.verifySignature() accepts by supplying malicious domain parameters such as g=1, y=1, and a fixed r=1, which make the verification equation true for any hash.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| — | jsrsasign | < 11.1.1 | 11.1.1 |
| — | org.webjars.npm:jsrsasign | — | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| npm | jsrsasign | < 11.1.1 | 11.1.1 | GHSA-wvqx-v3f6-w8rh |
References
- https://security.snyk.io/vuln/SNYK-JS-JSRSASIGN-15370940
- https://security.snyk.io/vuln/SNYK-JAVA-ORGWEBJARSNPM-15812268
- https://gist.github.com/Kr0emer/bf15ddc097176e951659a24a8e9002a7
- https://github.com/kjur/jsrsasign/pull/646
- https://github.com/kjur/jsrsasign/commit/37b4c06b145c7bfd6bc2a6df5d0a12c56b15ef60