GitHub Advisoryadvisory · npm

GHSA-q3gh-5r98-j4h3 RSA-PSS signature validation vulnerability by prepending zeros in jsrsasign

CRITICAL Published 2020-06-26 Modified 2023-01-27 Official page ↗
Aliases
CVE-2020-14968
Ecosystem
npm
Packages
jsrsasign
Severity
Critical
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Weaknesses
CWE-119
Reviewed
2020-06-26

Affected packages

• npm jsrsasign: >= 3.0.0, < 8.0.17 → fixed in 8.0.17

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

Related

Alias · CVE (1)

  • CVE-2020-14968 An issue was discovered in the jsrsasign package before 8.0.17 for Node.js. vulnerability

Weakness · CWE (1)

  • CWE-119 Improper Restriction of Operations within the Bounds of a Memory Buffer weakness

References