The http-proxy-agent package, a crucial tool for Node.js developers needing to route HTTP traffic through proxies, saw a notable update with the release of version 0.2.5 following version 0.2.4. While both maintain the same core functionality – providing an HTTP(s) proxy http.Agent implementation – several dependency updates and internal improvements differentiate the two.
Version 0.2.5 upgraded the debug dependency from version ~0.7.4 to ~0.8.0 and introduced a version bump in the extend dependency, moving from ~1.2.0 to ~1.2.1. These updates likely incorporated bug fixes, performance enhancements, and potentially new features within these underlying libraries. Although not explicitly stated, such dependency updates often address security vulnerabilities, making version 0.2.5 a potentially more secure choice. Developers relying on specific behaviors of the debug or extend packages should investigate the changes introduced by these version jumps to ensure compatibility.
Furthermore, the development environment also saw updates, with mocha moving from ~1.12.0 to ~1.18.2 and proxy moving from ~0.2.0 to ~0.2.3. Such upgrades in the development dependencies typically involve improvements in testing frameworks and proxy server tools used for development and testing, which wouldn't directly affect the runtime behavior of the core http-proxy-agent. These updates suggest a more robust and modern development workflow.
In summary, the update from version 0.2.4 to 0.2.5 signifies general improvements and maintenance, with a likely focus on stability and security through dependency upgrades. Developers starting new projects should opt for the latest version, 0.2.5, while those with existing implementations should assess the impact of the debug and extend dependency changes before upgrading.
All the vulnerabilities related to the version 0.2.5 of the package
Resource Exhaustion Denial of Service in http-proxy-agent
A flaw was found in http-proxy-agent, prior to version 2.1.0. It was discovered http-proxy-agent passes an auth option to the Buffer constructor without proper sanitization. This could result in a Denial of Service through the usage of all available CPU resources and data exposure through an uninitialized memory leak in setups where an attacker could submit typed input to the auth parameter.
Denial of Service in http-proxy-agent
Versions of http-proxy-agent
before 2.1.0 are vulnerable to denial of service and uninitialized memory leak when unsanitized options are passed to Buffer
. An attacker may leverage these unsanitized options to consume system resources.
Update to version 2.1.0 or later.
Prototype Pollution in extend
Versions of extend
prior to 3.0.2 (for 3.x) and 2.0.2 (for 2.x) are vulnerable to Prototype Pollution. The extend()
function allows attackers to modify the prototype of Object causing the addition or modification of an existing property that will exist on all objects.
If you're using extend
3.x upgrade to 3.0.2 or later.
If you're using extend
2.x upgrade to 2.0.2 or later.
debug Inefficient Regular Expression Complexity vulnerability
A vulnerability classified as problematic has been found in debug-js debug up to 3.0.x. This affects the function useColors of the file src/node.js. The manipulation of the argument str leads to inefficient regular expression complexity. Upgrading to version 3.1.0 is able to address this issue. The name of the patch is c38a0166c266a679c8de012d4eaccec3f944e685. It is recommended to upgrade the affected component. The identifier VDB-217665 was assigned to this vulnerability. The patch has been backported to the 2.6.x branch in version 2.6.9.
Regular Expression Denial of Service in debug
Affected versions of debug
are vulnerable to regular expression denial of service when untrusted user input is passed into the o
formatter.
As it takes 50,000 characters to block the event loop for 2 seconds, this issue is a low severity issue.
This was later re-introduced in version v3.2.0, and then repatched in versions 3.2.7 and 4.3.1.
Version 2.x.x: Update to version 2.6.9 or later. Version 3.1.x: Update to version 3.1.0 or later. Version 3.2.x: Update to version 3.2.7 or later. Version 4.x.x: Update to version 4.3.1 or later.