GHSA-xxxq-chmp-67g4
RSA PKCS#1 decryption vulnerability with prepending zeros in jsrsasign
Quick fix
GHSA-xxxq-chmp-67g4 — jsrsasign: upgrade to the fixed version with the command below.
npm install jsrsasign@8.0.18Details
### Impact Jsrsasign supports RSA PKCS#1 v1.5 (i.e. RSAES-PKCS1-v1_5) and RSA-OAEP encryption and decryption. Its encrypted message is represented as BigInteger. When there is a valid encrypted message, a crafted message with prepending zeros can be decrypted by this vulnerability.
- If you don't use RSA PKCS1-v1_5 or RSA-OAEP decryption, this vulnerability is not affected. - Risk to forge contents of encrypted message is very low. - Risk to raise memory corruption is low since jsrsasign uses BigInteger class.
### Patches Users using RSA PKCS1-v1_5 or RSA-OAEP decryption should upgrade to 8.0.18.
### Workarounds Reject RSA PKCS1-v1_5 or RSA-OAEP encrypted message with unnecessary prepending zeros.
### References https://nvd.nist.gov/vuln/detail/CVE-2020-14967 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-14967 https://vuldb.com/?id.157124 https://kjur.github.io/jsrsasign/api/symbols/KJUR.crypto.Cipher.html#.decrypt https://github.com/kjur/jsrsasign/issues/439
Are you affected?
Enter the version of the package you're using.
Affected packages
References
- https://github.com/kjur/jsrsasign/security/advisories/GHSA-xxxq-chmp-67g4[WEB]
- https://nvd.nist.gov/vuln/detail/CVE-2020-14967[ADVISORY]
- https://github.com/kjur/jsrsasign/issues/439[WEB]
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-14967[WEB]
- https://github.com/kjur/jsrsasign[PACKAGE]
- 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/KJUR.crypto.Cipher.html#.decrypt[WEB]
- https://security.netapp.com/advisory/ntap-20200724-0001[WEB]
- https://vuldb.com/?id.157124[WEB]
- https://www.npmjs.com/package/jsrsasign[WEB]