ESLint version 3.4.0 represents an incremental update over the previous stable version, 3.3.1, offering developers refinements and dependency adjustments. Both versions serve as powerful AST-based pattern checkers for JavaScript code, ensuring code quality and adherence to style guides. The core functionalities remain consistent: developers can leverage ESLint to identify problematic patterns, enforce coding conventions, and automate code reviews.
A notable difference lies in the updated dependencies. In version 3.4.0, the ignore package is bumped from ^3.1.2 to ^3.1.5, suggesting potential bug fixes or feature enhancements in ignore file processing. The file-entry-cache dependency is also updated from ^1.3.1 to ^2.0.0, indicating a significant shift in how ESLint manages file caching, which could impact performance and resource utilization. This change is particulary interesting for developers that work on large projects. Developers should examine the changelogs of these dependencies to understand the specific changes introduced.
Beyond these dependency tweaks, the core ESLint engine and its configuration options remain largely unchanged. Developers familiar with version 3.3.1 can seamlessly transition to 3.4.0 without requiring major code modifications. The focus of this update seems to be on refining internal components and dependencies to improve stability and efficiency, ensuring a smoother experience for JavaScript developers.
All the vulnerabilities related to the version 3.4.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: