RSA-PSS signature validation vulnerability by prepending zeros in jsrsasign
GHSA-q3gh-5r98-j4h3 · CVE-2020-14968
Published · Modified
Description
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://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
- WEB https://github.com/kjur/jsrsasign/security/advisories/GHSA-q3gh-5r98-j4h3
- ADVISORY https://nvd.nist.gov/vuln/detail/CVE-2020-14968
- WEB https://github.com/kjur/jsrsasign/issues/438
- WEB https://github.com/kjur/jsrsasign/commit/3bcc088c727658d7235854cd2a409a904cc2ce99
- WEB https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-14968
- PACKAGE https://github.com/kjur/jsrsasign
- WEB https://github.com/kjur/jsrsasign/releases/tag/8.0.17
- WEB https://github.com/kjur/jsrsasign/releases/tag/8.0.18
- WEB https://kjur.github.io/jsrsasign
- WEB https://kjur.github.io/jsrsasign/api/symbols/RSAKey.html#.verifyWithMessageHashPSS
- WEB https://security.netapp.com/advisory/ntap-20200724-0001
- WEB https://vuldb.com/?id.157125
- WEB https://www.npmjs.com/advisories/1541
- WEB https://www.npmjs.com/package/jsrsasign
Ready to move
Start Securing
Free, no credit card | First findings in minutes