ESLint version 3.2.0 represents a minor update to the popular JavaScript linting tool, succeeding version 3.1.1. Both versions maintain the core functionality of analyzing code for stylistic and potential error patterns, leveraging an AST-based approach for comprehensive and accurate analysis. Developers familiar with ESLint will find the upgrade straightforward.
Key differences lie in the dependency updates. Version 3.2.0 removes the direct dependency on es6-map, which was present in 3.1.1, indicating a shift in how certain data structures are handled within the linter. Also, version 3.2.0 introduces babel-polyfill and babel-preset-es2015 to the list of devDependencies, and removes markdownlint and karma-babel-preprocessor. These changes suggest improvements to ESLint's internal tooling and testing processes, supporting modern JavaScript syntax and enhancing compatibility.
Developers should note these changes primarily affect the development and build process of ESLint itself, rather than drastically altering the end-user experience. The core rules and configuration options remain largely consistent, allowing for a seamless transition. Upgrading is generally recommended to benefit from potential bug fixes, performance enhancements, and improved compatibility with evolving JavaScript standards, as well as the possibility of new features and enhancements contributed by the community in devDependencies. When upgrading, developers should review their configurations and testing setup to ensure there are no unintended dependency breaks.
All the vulnerabilities related to the version 3.2.0 of the package
Prototype Pollution in Ajv
An issue was discovered in ajv.validate() in Ajv (aka Another JSON Schema Validator) 6.12.2. A carefully crafted JSON schema could be provided that allows execution of other code by prototype pollution. (While untrusted schemas are recommended against, the worst case of an untrusted schema should be a denial of service, not execution of code.)
Improper Privilege Management in shelljs
shelljs is vulnerable to Improper Privilege Management
Improper Privilege Management in shelljs
Output from the synchronous version of shell.exec()
may be visible to other users on the same system. You may be affected if you execute shell.exec()
in multi-user Mac, Linux, or WSL environments, or if you execute shell.exec()
as the root user.
Other shelljs functions (including the asynchronous version of shell.exec()
) are not impacted.
Patched in shelljs 0.8.5
Recommended action is to upgrade to 0.8.5.
https://huntr.dev/bounties/50996581-c08e-4eed-a90e-c0bac082679c/
If you have any questions or comments about this advisory: