The regex used for the forge.util.parseUrl API would not properly parse certain inputs resulting in a parsed data structure that could lead to undesired behavior.
Patches
forge.util.parseUrl and other very old related URL APIs were removed in 1.0.0 in favor of letting applications use the more modern WHATWG URL Standard API.
Workarounds
Ensure code does not directly or indirectly call forge.util.parseUrl with untrusted input.
The forge.debug API had a potential prototype pollution issue if called with untrusted input. The API was only used for internal debug purposes in a safe way and never documented or advertised. It is suspected that uses of this API, if any exist, would likely not have used untrusted inputs in a vulnerable way.
Patches
The forge.debug API and related functions were removed in 1.0.0.
Workarounds
Don't use the forge.debug API directly or indirectly with untrusted input.
RSA PKCS#1 v1.5 signature verification code is not properly checking DigestInfo for a proper ASN.1 structure. This can lead to successful verification with signatures that contain invalid structures but a valid digest.
Patches
The issue has been addressed in node-forge1.3.0.
For more information
If you have any questions or comments about this advisory:
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.
RSA PKCS#1 v1.5 signature verification code does not check for tailing garbage bytes after decoding a DigestInfo ASN.1 structure. This can allow padding bytes to be removed and garbage data added to forge a signature when a low public exponent is being used.
The package node-forge before 0.10.0 is vulnerable to Prototype Pollution via the util.setPath function. Note: Version 0.10.0 is a breaking change removing the vulnerable functions.
This PR contains the following updates:
0.10.0
->1.3.0
0.9.0
->0.10.0
GitHub Vulnerability Alerts
GHSA-gf8q-jrpm-jvxq
Impact
The regex used for the
forge.util.parseUrl
API would not properly parse certain inputs resulting in a parsed data structure that could lead to undesired behavior.Patches
forge.util.parseUrl
and other very old related URL APIs were removed in 1.0.0 in favor of letting applications use the more modern WHATWG URL Standard API.Workarounds
Ensure code does not directly or indirectly call
forge.util.parseUrl
with untrusted input.References
For more information
If you have any questions or comments about this advisory:
GHSA-5rrq-pxf6-6jx5
Impact
The
forge.debug
API had a potential prototype pollution issue if called with untrusted input. The API was only used for internal debug purposes in a safe way and never documented or advertised. It is suspected that uses of this API, if any exist, would likely not have used untrusted inputs in a vulnerable way.Patches
The
forge.debug
API and related functions were removed in 1.0.0.Workarounds
Don't use the
forge.debug
API directly or indirectly with untrusted input.References
For more information
If you have any questions or comments about this advisory:
CVE-2022-0122
parseUrl functionality in node-forge mishandles certain uses of backslash such as https:/\/\/\ and interprets the URI as a relative path.
CVE-2022-24773
Impact
RSA PKCS#1 v1.5 signature verification code is not properly checking
DigestInfo
for a proper ASN.1 structure. This can lead to successful verification with signatures that contain invalid structures but a valid digest.Patches
The issue has been addressed in
node-forge
1.3.0
.For more information
If you have any questions or comments about this advisory:
CVE-2022-24771
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:
CVE-2022-24772
Impact
RSA PKCS#1 v1.5 signature verification code does not check for tailing garbage bytes after decoding a
DigestInfo
ASN.1 structure. This can allow padding bytes to be removed and garbage data added 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:
CVE-2020-7720
The package node-forge before 0.10.0 is vulnerable to Prototype Pollution via the util.setPath function. Note: Version 0.10.0 is a breaking change removing the vulnerable functions.
GHSA-wxgw-qj99-44c2
Impact
forge.util.setPath
had a potential prototype pollution issue if called with untrusted keys. This API was not used by forge itself.Patches
The
forge.util.setPath
API and related functions were removed in 0.10.0.Workarounds
Don't call
forge.util.setPath
directly or indirectly with untrusted keys.References
For more information
If you have any questions or comments about this advisory:
Configuration
📅 Schedule: "" (UTC).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by WhiteSource Renovate. View repository job log here.