CVE-2020-14968
RSA-PSS signature validation vulnerability by prepending zeros in jsrsasign
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://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
How to fix CVE-2020-14968
To remediate CVE-2020-14968, upgrade the affected package to a fixed version below.
- —upgrade to 8.0.17 or later
Is CVE-2020-14968 being exploited?
Low — EPSS is 0.5%, meaning exploitation activity has not been observed at scale.
Affected packages (1)
- >= 3.0.0, < 8.0.17
CVSS scores
| Source | Version | Severity | Vector |
|---|---|---|---|
| osv | CVSS 3.1 | CRITICAL9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |