Node Forge, a versatile JavaScript library, provides comprehensive tools for implementing network communication protocols, robust cryptography, and essential utilities. Comparing version 0.7.6 with its predecessor, 0.7.5, reveals only minor under-the-hood improvements, as reflected in the near-identical devDependencies and metadata. While the core functionality and API remain consistent, developers should note a slight increase in unpackedSize from 1670906 to 1672108 bytes in the newer version, potentially indicating subtle enhancements or bug fixes. The release date also marks the difference, with version 0.7.6 published in August 2018, several months after the March 2018 release of version 0.7.5.
For those leveraging Node Forge, specifically for tasks like TLS, PKI operations, AES encryption, or generating message digests, this upgrade is likely a stable and safe move. While the documentation does not explicitly detail the precise changes, it's common for minor version updates to incorporate performance tweaks, security patches or minor bug fixes. Existing implementations built on 0.7.5 should function seamlessly with 0.7.6, and developers are encouraged to review the project's changelog on GitHub for a more granular view of committed changes. Ultimately, sticking to the latest stable version like 0.7.6 is generally recommended for accessing the most current iterations and maintenance benefits.
All the vulnerabilities related to the version 0.7.6 of the package
Prototype Pollution in node-forge
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.
Prototype Pollution in node-forge util.setPath API
forge.util.setPath
had a potential prototype pollution issue if called with untrusted keys. This API was not used by forge itself.
The forge.util.setPath
API and related functions were removed in 0.10.0.
Don't call forge.util.setPath
directly or indirectly with untrusted keys.
If you have any questions or comments about this advisory:
Prototype Pollution in node-forge debug API.
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.
The forge.debug
API and related functions were removed in 1.0.0.
Don't use the forge.debug
API directly or indirectly with untrusted input.
If you have any questions or comments about this advisory:
Open Redirect in node-forge
parseUrl functionality in node-forge mishandles certain uses of backslash such as https:/\/\/\
and interprets the URI as a relative path.
URL parsing in node-forge could lead to undesired behavior.
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.
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.
Ensure code does not directly or indirectly call forge.util.parseUrl
with untrusted input.
If you have any questions or comments about this advisory:
Improper Verification of Cryptographic Signature in node-forge
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.
The issue has been addressed in node-forge
1.3.0
.
If you have any questions or comments about this advisory:
Improper Verification of Cryptographic Signature in node-forge
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
1.3.0
.
For more information, please see "Bleichenbacher's RSA signature forgery based on implementation error" by Hal Finney.
If you have any questions or comments about this advisory:
Improper Verification of Cryptographic Signature in node-forge
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 issue has been addressed in node-forge
1.3.0
.
For more information, please see "Bleichenbacher's RSA signature forgery based on implementation error" by Hal Finney.
If you have any questions or comments about this advisory: