Headline
CVE-2022-24771: Build software better, together
Forge (also called node-forge) is a native implementation of Transport Layer Security in JavaScript. Prior to version 1.3.0, RSA PKCS#1 v1.5 signature verification code is lenient in checking the digest algorithm structure. This can allow a crafted structure that steals padding bytes and uses unchecked portion of the PKCS#1 encoded message to forge a signature when a low public exponent is being used. The issue has been addressed in node-forge version 1.3.0. There are currently no known workarounds.
Package
npm node-forge (npm)
Affected versions
< 1.3.0
Impact
RSA PKCS#1 v1.5 signature verification code is lenient in checking the digest algorithm structure. This can allow a crafted structure that steals padding bytes and uses unchecked portion of the PKCS#1 encoded message to forge a signature when a low public exponent is being used.
Patches
The issue has been addressed in node-forge 1.3.0.
References
For more information, please see
“Bleichenbacher’s RSA signature forgery based on implementation error”
by Hal Finney.
For more information
If you have any questions or comments about this advisory:
- Open an issue in forge
- Email us at example email address
CVE ID
CVE-2022-24771
GHSA ID
GHSA-cfm4-qjh2-4765
CWEs
CVSS Score
7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N