ESLint version 3.18.0 marks an incremental update over its predecessor, 3.17.1, focusing on refinements and bug fixes within the core JavaScript linting tool. Both versions maintain the same fundamental structure and purpose: to provide developers with an AST-based pattern checker ensuring code quality and stylistic consistency across projects.
Key differences primarily lie in dependency updates and potential bug resolutions. Notably, doctrine moved from version 1.2.2 to 2.0.0 and concat-stream updated from 1.4.6 to 1.5.2 in the newer version. While the core dependencies largely remain the same, such minor version bumps often include performance enhancements, security patches, or resolutions to previously identified issues. Examining the changelog accompanying version 3.18.0 would reveal the specific nature of these fixes and improvements. Furthermore, the mock-fs dependency differs between the two versions meaning some change must have been introduced in this package or how it is used.
For developers considering an upgrade, the move from 3.17.1 to 3.18.0 promises a more stable and refined experience. ESLint's strength lies in its customizability, allowing users to define specific linting rules tailored to their project's coding standards through configuration files. Keeping ESLint up-to-date is crucial for leveraging the latest rules, performance improvements, and compatibility with evolving JavaScript syntax. Developers should always review the release notes to understand the full impact of the update.
All the vulnerabilities related to the version 3.18.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: