It was found that ljharb’s qs module for Node.js did not properly parse query strings. An attacker could send a specially crafted query that overwrites the resulting object’s prototype properties (such as toString() or hasOwnProperty()), resulting in a denial of service when the overwritten function would be executed.