CVE-2020-14968
RSA-PSS signature validation vulnerability by prepending zeros in jsrsasign
Severity by source
Trivy's own label is CRITICAL. Rated critical by NVD, GHSA.
Description
An issue was discovered in the jsrsasign package before 8.0.17 for Node.js. Its RSASSA-PSS (RSA-PSS) implementation does not detect signature manipulation/modification by prepending '\0' bytes to a signature (it accepts these modified signatures as valid). An attacker can abuse this behavior in an application by creating multiple valid signatures where only one signature should exist. Also, an attacker might prepend these bytes with the goal of triggering memory corruption issues.
Affected packages and fixed versions
| Source | Package | Fixed in |
|---|---|---|
| npm::GitHub Security Advisory npm | jsrsasign | 8.0.17 |
References
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-14968
- https://github.com/kjur/jsrsasign
- https://github.com/kjur/jsrsasign/commit/3bcc088c727658d7235854cd2a409a904cc2ce99
- https://github.com/kjur/jsrsasign/issues/438
- https://github.com/kjur/jsrsasign/releases/tag/8.0.17
- https://github.com/kjur/jsrsasign/releases/tag/8.0.18
- https://github.com/kjur/jsrsasign/security/advisories/GHSA-q3gh-5r98-j4h3
- https://kjur.github.io/jsrsasign
All 16 references
- https://kjur.github.io/jsrsasign/
- https://kjur.github.io/jsrsasign/api/symbols/RSAKey.html#.verifyWithMessageHashPSS
- https://nvd.nist.gov/vuln/detail/CVE-2020-14968
- https://security.netapp.com/advisory/ntap-20200724-0001
- https://security.netapp.com/advisory/ntap-20200724-0001/
- https://vuldb.com/?id.157125
- https://www.npmjs.com/advisories/1541
- https://www.npmjs.com/package/jsrsasign