Webpack version 0.4.5 is a minor update following the 0.4.4 release, both designed to pack CommonJs modules for browser-based applications. These early versions of Webpack enabled developers to split codebases into multiple, on-demand loading bundles, significantly improving initial load times and overall application performance. The core functionality remains consistent between the two versions, focusing on supporting a wide array of file types including JavaScript, JSON, Jade (now Pug), CoffeeScript, and CSS. This was achieved through a flexible loader system, allowing developers to extend Webpack's capabilities to handle various file formats and pre-processing tasks. Both versions depend on the same set of core libraries like esprima (for JavaScript parsing), sprintf (for string formatting), optimist (for argument parsing), and uglify-js (for JavaScript minification). They also share dependencies on various loaders such as css-loader, raw-loader, and jade-loader, indicating a stable ecosystem of tools already established in these early releases. Regarding development dependencies, both rely on "vows" for testing.
The primary distinction between version 0.4.5 and 0.4.4 lies in their release dates, with 0.4.5 being released on May 20, 2012, and 0.4.4 on May 17, 2012. This suggests that 0.4.5 likely contains bug fixes or minor improvements implemented shortly after the 0.4.4 release. While the specific changes are not detailed in the metadata provided, developers should consider reviewing release notes or commit logs (if available) to understand the exact nature of the update. Given the short time span between releases, the upgrade from 0.4.4 to 0.4.5 would likely be straightforward and recommended for those seeking the most up-to-date and stable version within this early release cycle.
All the vulnerabilities related to the version 0.4.5 of the package
Incorrect Handling of Non-Boolean Comparisons During Minification in uglify-js
Versions of uglify-js
prior to 2.4.24 are affected by a vulnerability which may cause crafted JavaScript to have altered functionality after minification.
Upgrade UglifyJS to version >= 2.4.24.
Regular Expression Denial of Service in uglify-js
Versions of uglify-js
prior to 2.6.0 are affected by a regular expression denial of service vulnerability when malicious inputs are passed into the parse()
method.
var u = require('uglify-js');
var genstr = function (len, chr) {
var result = "";
for (i=0; i<=len; i++) {
result = result + chr;
}
return result;
}
u.parse("var a = " + genstr(process.argv[2], "1") + ".1ee7;");
$ time node test.js 10000
real 0m1.091s
user 0m1.047s
sys 0m0.039s
$ time node test.js 80000
real 0m6.486s
user 0m6.229s
sys 0m0.094s
Update to version 2.6.0 or later.
Regular Expression Denial of Service in clean-css
Version of clean-css
prior to 4.1.11 are vulnerable to Regular Expression Denial of Service (ReDoS). Untrusted input may cause catastrophic backtracking while matching regular expressions. This can cause the application to be unresponsive leading to Denial of Service.
Upgrade to version 4.1.11 or higher.
Sandbox Bypass Leading to Arbitrary Code Execution in constantinople
Versions of constantinople
prior to 3.1.1 are vulnerable to a sandbox bypass which can lead to arbitrary code execution.
Update to version 3.1.1 or later.