Webpack version 0.3.13 introduces a minor update to the popular module bundler, building upon the functionality of version 0.3.12. Both versions aim to streamline the process of packaging CommonJs modules for browser deployment, enabling developers to split codebases into manageable bundles that load on demand. This feature is crucial for optimizing website performance and improving user experience by reducing initial load times.
The core functionality remains consistent between the two versions, offering out-of-the-box support for various file types including JavaScript, JSON, Jade, CoffeeScript, and CSS. This is achieved through a system of loaders, which can be extended to handle other formats, providing a flexible and customizable bundling solution. Key dependencies like Esprima for JavaScript parsing, sprintf for string formatting, Optimist for command-line argument parsing, and UglifyJS for code minification are maintained across both releases.
The main difference lies in the introduction of "val-loader" and "bundle-loader" in version 0.3.13. While not explicitly stated what these loaders allow; webpack´s loader are transformations that are applied on a per-file basis before the module is bundled within the webpack. For developers, this means webpack continues to evolve as a powerful asset management tool, offering the flexibility to manage complex projects with diverse file types and dependencies.
All the vulnerabilities related to the version 0.3.13 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.