~ / search / GHSA-q3gh-5r98-j4h3

GHSA-q3gh-5r98-j4h3

RSA-PSS signature validation vulnerability by prepending zeros in jsrsasign

Source: GitHub Advisory Database (reviewed) Critical CVE-2020-14968

Packages

EcosystemPackageAffectedFixed in
npm jsrsasign >= 3.0.0, < 8.0.17 8.0.17

Details

As written in the advisory (Markdown source, shown as plain text).

### 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

References

External links from the advisory. They lead to third-party sites.