VDB
Sign up
CRITICAL9.8

GHSA-q3gh-5r98-j4h3

RSA-PSS signature validation vulnerability by prepending zeros in jsrsasign

Quick fix

GHSA-q3gh-5r98-j4h3 — jsrsasign: upgrade to the fixed version with the command below.

npm install jsrsasign@8.0.17

Details

### Impact Jsrsasign can verify RSA-PSS signature which value can expressed as BigInteger. When there is a valid RSA-PSS signature value, this vulnerability is also accept value with prepending zeros as a valid signature.

- If you are not use RSA-PSS signature validation, this vulnerability is not affected. - Risk to accept a forged or crafted message to be signed is low. - Risk to raise memory corruption is low since jsrsasign uses BigInteger class.

### Patches Users using RSA-PSS signature validation should upgrade to 8.0.17.

### Workarounds Reject RSA-PSS signatures with unnecessary prepending zeros.

### References https://github.com/kjur/jsrsasign/security/advisories/GHSA-q3gh-5r98-j4h3 [https://github.com/kjur/jsrsasign/issues/438](https://github.com/kjur/jsrsasign/issues/438) https://nvd.nist.gov/vuln/detail/CVE-2020-14968 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-14968 https://vuldb.com/?id.157125 https://kjur.github.io/jsrsasign/api/symbols/RSAKey.html#.verifyWithMessageHashPSS

Are you affected?

Enter the version of the package you're using.

Affected packages

npm/jsrsasign
Introduced in: 3.0.0Fixed in: 8.0.17
Fixnpm install jsrsasign@8.0.17

References