ESLint version 3.0.0 represents a notable update from its predecessor, version 2.13.1, in the realm of JavaScript linting. Both versions share the same core purpose: static analysis of JavaScript code to identify potential errors, enforce coding standards, and promote code quality. They rely on the same fundamental dependencies for parsing and traversing code, such as espree, escope, and estraverse, and both are equipped with an arsenal of tools for development and testing, including mocha, chai, sinon, and karma.
However, the jump to version 3.0.0 indicates a significant release, likely encompassing new features, bug fixes, and potential breaking changes that developers should be aware of. Despite having many of the same dependencies, slight updates to those dependencies might affect how ESLint analyzes and reports on code. While a detailed changelog would be necessary to pinpoint specific differences, typically major version updates like this involve enhancements to rule sets, improved performance, or changes to the configuration process. For developers, this may mean new linting rules to improve code quality, or even needing to adapt their configuration file to align with the new version. Developers should consult the official ESLint documentation and release notes to gain a comprehensive understanding of the specific changes and their implications for existing projects. Also, the release date marks a new version being launched after around 10 days, which also may signal a need to update due to bug fixes from the previous version.
All the vulnerabilities related to the version 3.0.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: