The npm package eslint version 0.0.4, released on July 4, 2013, marks an early iteration of this widely used JavaScript linting tool. As a foundational release, it offered developers a pattern checker leveraging Esprima for JavaScript code analysis. Core dependencies included astw for AST traversal, jshint (likely for baseline linting capabilities), and optimist for command-line argument parsing.
While a comparison to a nonexistent prior stable version is impossible, focusing on version 0.0.4 itself reveals valuable insights. Its developer dependencies pointed to a robust testing environment, utilizing vows for asynchronous testing, sinon for test spies and stubs, and istanbul for code coverage analysis. The presence of jshint as both a regular and development dependency suggests it might have been used both internally and exposed for compatibility or comparison purposes.
The MIT license underscores its commitment to open-source principles, facilitating widespread adoption and modification. The repository link to nzakas/eslint on GitHub highlights its origins with Nicholas C. Zakas, a prominent figure in the JavaScript community.
For developers considering this specific vintage release, it provides a glimpse into the genesis of ESLint, offering a potentially simpler linting experience compared to modern versions. However, bear in mind that significant enhancements, rule updates, and performance improvements have occurred in subsequent releases. This specific version may be most relevant for historical research, understanding ESLint's evolution, or maintaining compatibility with extremely old projects.
All the vulnerabilities related to the version 0.0.4 of the package
Prototype Pollution in minimist
Affected versions of minimist
are vulnerable to prototype pollution. Arguments are not properly sanitized, allowing an attacker to modify the prototype of Object
, causing the addition or modification of an existing property that will exist on all objects.
Parsing the argument --__proto__.y=Polluted
adds a y
property with value Polluted
to all objects. The argument --__proto__=Polluted
raises and uncaught error and crashes the application.
This is exploitable if attackers have control over the arguments being passed to minimist
.
Upgrade to versions 0.2.1, 1.2.3 or later.
Prototype Pollution in minimist
Minimist prior to 1.2.6 and 0.2.4 is vulnerable to Prototype Pollution via file index.js
, function setKey()
(lines 69-95).