Webpack Manifest Plugin helps developers generate a manifest file containing a mapping of original asset filenames to their corresponding output filenames after webpack has processed them. This is crucial for scenarios where webpack hashes filenames for cache busting, allowing applications to reliably locate assets in production. Version 0.5.0, released on October 31, 2015, builds upon the foundation laid by version 0.4.0, released on August 6, 2015. Both versions share the same core functionality and dependencies, relying on lodash for utility functions and including development dependencies like jasmine for testing, webpack itself for testing scenarios, memory-fs for in-memory file system operations during testing, and loaders like css-loader, style-loader, and extract-text-webpack-plugin for simulating real-world webpack configurations. Developers using either version benefit from a consistent API and a straightforward process for generating manifest files. The subtle difference between the versions lies in the repository URL format within the package metadata, with version 0.5.0 using the shorthand "https" while version 0.4.0 is more descriptive with the "git+" prefix. Choosing between the versions depends on the specific needs of a project but both provide a reliable method to track assets post-webpack compilation.
All the vulnerabilities related to the version 0.5.0 of the package
Command Injection in lodash
lodash versions prior to 4.17.21 are vulnerable to Command Injection via the template function.
Prototype Pollution in lodash
Versions of lodash before 4.17.11 are vulnerable to prototype pollution.
The vulnerable functions are 'defaultsDeep', 'merge', and 'mergeWith' which allow a malicious user to modify the prototype of Object via {constructor: {prototype: {...}}} causing the addition or modification of an existing property that will exist on all objects.
Update to version 4.17.11 or later.
Prototype Pollution in lodash
Versions of lodash before 4.17.5 are vulnerable to prototype pollution.
The vulnerable functions are 'defaultsDeep', 'merge', and 'mergeWith' which allow a malicious user to modify the prototype of Object via __proto__ causing the addition or modification of an existing property that will exist on all objects.
Update to version 4.17.5 or later.
Prototype Pollution in lodash
Versions of lodash before 4.17.12 are vulnerable to Prototype Pollution. The function defaultsDeep allows a malicious user to modify the prototype of Object via {constructor: {prototype: {...}}} causing the addition or modification of an existing property that will exist on all objects.
Update to version 4.17.12 or later.
Prototype Pollution in lodash
Versions of lodash prior to 4.17.19 are vulnerable to Prototype Pollution. The functions pick, set, setWith, update, updateWith, and zipObjectDeep allow a malicious user to modify the prototype of Object if the property identifiers are user-supplied. Being affected by this issue requires manipulating objects based on user-provided property values or arrays.
This vulnerability causes the addition or modification of an existing property that will exist on all objects and may lead to Denial of Service or Code Execution under specific circumstances.