RSA-PSS signature validation vulnerability by prepending zeros in jsrsasign
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
Affected software
Click a technology to see all vulnerabilities affecting it.
| Platform | Package | Vulnerable versions | Fixed in |
|---|---|---|---|
| npm package | jsrsasign | >= 3.0.0, < 8.0.17 | 8.0.17 |
References
- https://github.com/kjur/jsrsasign/security/advisories/GHSA-q3gh-5r98-j4h3
- https://nvd.nist.gov/vuln/detail/CVE-2020-14968
- https://github.com/kjur/jsrsasign/issues/438
- https://github.com/kjur/jsrsasign/commit/3bcc088c727658d7235854cd2a409a904cc2ce99
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-14968
- https://github.com/kjur/jsrsasign
- https://github.com/kjur/jsrsasign/releases/tag/8.0.17
- https://github.com/kjur/jsrsasign/releases/tag/8.0.18
- https://kjur.github.io/jsrsasign
- https://kjur.github.io/jsrsasign/api/symbols/RSAKey.html#.verifyWithMessageHashPSS
- 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
- CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H- Weakness (CWE)
CWE-119- Platform
- npm
- Package
jsrsasign- Disclosed
- 26.06.2020
- Updated
- 11.10.2026 10:22
Sources and licenses
OSV / GitHub Advisory Database - GHSA-q3gh-5r98-j4h3 - CC BY 4.0
Vulnerability history: jsrsasign
All published vulnerabilities of this package (npm package), newest first. Shows whether this is a one-off slip or a package that needs watching.
- Total entries
- 14
- First → latest
- 06.2020 03.2026
- Without a fix
- 0
- Exploited in attacks
- 0
Severity breakdown
- Critical 4
- High 7
- Medium 2
- Low 1
Disclosures per year
- 2020: 4
- 2021: 1
- 2022: 2
- 2023: 0
- 2024: 1
- 2025: 0
- 2026: 6
-
RSA-PSS signature validation vulnerability by prepending zeros in jsrsasign this entry
Know which vulnerabilities affect your application
With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.