The qs library, a querystring parser for JavaScript, saw a minor version bump from 0.0.1 to 0.0.2 in February 2011, indicating a relatively early stage in its development. Both versions, authored by TJ Holowaychuk, share the same core purpose: parsing and stringifying URL query strings. The fundamental functionality appears consistent, focusing on providing developers with a tool to easily handle querystring data within their applications.
Given the small version increment and identical descriptions ("querystring parser"), the changes between 0.0.1 and 0.0.2 are likely bug fixes, minor performance improvements, or internal refactoring rather than substantial feature additions. Developers familiar with version 0.0.1 should find 0.0.2 a seamless transition. Those seeking a foundational querystring parsing tool for Node.js or browser environments will find either version suitable.
While the provided data doesn't detail specific code modifications, the release date difference of a few days suggests a quick iteration cycle characteristic of early-stage software development. Always ensure to consult any available changelogs or commit history for the qs library on platforms like GitHub (if a repository was later created) to understand the precise nature of changes implemented between these versions. For current usages, consider using the latest version of the library.
All the vulnerabilities related to the version 0.0.2 of the package
Denial-of-Service Extended Event Loop Blocking in qs
Versions prior to 1.0.0 of qs
are affected by a denial of service vulnerability that results from excessive recursion in parsing a deeply nested JSON string.
Update to version 1.0.0 or later
Denial-of-Service Memory Exhaustion in qs
Versions prior to 1.0 of qs
are affected by a denial of service condition. This condition is triggered by parsing a crafted string that deserializes into very large sparse arrays, resulting in the process running out of memory and eventually crashing.
Update to version 1.0.0 or later.
Prototype Pollution Protection Bypass in qs
Affected version of qs
are vulnerable to Prototype Pollution because it is possible to bypass the protection. The qs.parse
function fails to properly prevent an object's prototype to be altered when parsing arbitrary input. Input containing [
or ]
may bypass the prototype pollution protection and alter the Object prototype. This allows attackers to override properties that will exist in all objects, which may lead to Denial of Service or Remote Code Execution in specific circumstances.
Upgrade to 6.0.4, 6.1.2, 6.2.3, 6.3.2 or later.
qs vulnerable to Prototype Pollution
qs before 6.10.3 allows attackers to cause a Node process hang because an __ proto__
key can be used. In many typical web framework use cases, an unauthenticated remote attacker can place the attack payload in the query string of the URL that is used to visit the application, such as a[__proto__]=b&a[__proto__]&a[length]=100000000
. The fix was backported to qs 6.9.7, 6.8.3, 6.7.3, 6.6.1, 6.5.3, 6.4.1, 6.3.3, and 6.2.4.