ESLint version 2.10.0 arrived on May 13, 2016, building upon the foundation laid by its predecessor, version 2.9.0, released on April 29, 2016. Both share the core functionality of an AST-based pattern checker for JavaScript, aimed at helping developers maintain code quality and consistency. A close examination reveals nuanced differences in the devDependencies. Notably, proxyquire has a specific version range, ">=1.0.0 <1.7.5", in version 2.10.0, while version 2.9.0 specifies "^1.0.0". This change suggests either a bug fix, compatibility adjustment, or a decision to constrain the acceptable range of proxyquire versions for enhanced stability or feature compatibility within ESLint's development environment. The dependencies remains identical, indicating no changes were made to the core runtime requirements of ESLint.
For developers, upgrading from 2.9.0 to 2.10.0 is likely a low-risk endeavor, primarily focused on staying current with the project's maintenance. The constraint on proxyquire potentially addresses underlying development workflow enhancements or dependency management improvements, ensuring a smoother experience for contributors and those building ESLint from source. While the day-to-day impact for end-users might be minimal, keeping abreast of these incremental updates ensures access to the latest refinements and potentially addresses subtle bugs or incompatibilities that could arise from diverging development dependencies. ESLint continues as a robust tool for JavaScript linting, promoting best practices and code clarity.
All the vulnerabilities related to the version 2.10.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: