Submit #851357: Node.js enquirer 2.4.1 Prototype Pollutioninfo

TitleNode.js enquirer 2.4.1 Prototype Pollution
DescriptionPrototype pollution in the public `Enquirer` prompt flow when `question.name` contains dangerous path segments such as `__proto__`. When a prompt is submitted, `Enquirer` stores the answer using an internal nested setter where the path is derived from the externally supplied `question.name`. Because dangerous segments like `__proto__`, `constructor`, and `prototype` are not rejected, a prompt name such as `__proto__.pp` can pollute `Object.prototype`. This is reachable through the public package API via `new Enquirer()`, `register(...)`, and `prompt(...)`. Impact: if an application allows attacker-controlled prompt definitions or otherwise passes untrusted values into `question.name`, an attacker may be able to trigger application-wide prototype pollution, leading to logic corruption, unsafe property resolution, denial of service, or downstream exploitation depending on how polluted properties are used.
Source⚠️ https://github.com/enquirer/enquirer/issues/487
User
 Dremig (UID 95003)
Submission06/08/2026 07:57 (2 months ago)
Moderation07/09/2026 07:15 (1 month later)
StatusAccepted
VulDB entry377113 [enquirer up to 2.4.1 Public Package API Enquirer.set question.name prototype pollution]
Points20

Do you want to use VulDB in your project?

Use the official API to access entries easily!