GitHub Advisoryadvisory · npm

GHSA-27fj-mc8w-j9wg RSA signature validation vulnerability on maleable encoded message in jsrsasign

CRITICAL Published 2021-04-16 Modified 2023-09-11 Official page ↗
Aliases
CVE-2021-30246
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:N
Weaknesses
CWE-347
Reviewed
2021-04-13

Affected packages

• npm jsrsasign: < 10.2.0 → fixed in 10.2.0

Description

Impact Vulnerable jsrsasign will accept RSA signature with improper PKCS#1.5 padding. Decoded RSA signature value consists following form: `01(ff...(8 or more ffs)...ff)00[ASN.1 OF DigestInfo]` Its byte length must be the same as RSA key length, however such checking was not sufficient. To make crafted message for practical attack is very hard. Patches Users validating RSA signature should upgrade to 10.2.0 or later. Workarounds There is no workaround. Not to use RSA signature validation in jsrsasign. ACKNOWLEDGEMENT Thanks to Daniel Yahyazadeh @yahyazadeh for reporting and analyzing this vulnerability.

Related

Alias · CVE (1)

  • CVE-2021-30246 In the jsrsasign package through 10.1.13 for Node.js, some invalid RSA PKCS#1 v1.5 signatures are mistakenly recognized to be valid. vulnerability

Weakness · CWE (1)

  • CWE-347 Improper Verification of Cryptographic Signature weakness

References