MEDIUM 4.3

CVE-2026-15187: Prototype Pollution in Enquirer ≤2.4.1 – Patch Guidance

A prototype pollution vulnerability exists in enquirer, a Node.js package for interactive command-line prompts, affecting versions up to 2.4.1. The flaw allows an authenticated attacker to manipulate object prototypes through the question.name parameter when using the Enquirer.set method, potentially modifying application behavior. The vulnerability requires authenticated access and does not directly expose sensitive data, but could enable privilege escalation or unintended state changes within applications that rely on enquirer. Public exploit code is available.

Source data · NVD / CISA · public domain

CVSS
3.1 · 4.3 MEDIUM · CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
Weaknesses (CWE)
CWE-1321, CWE-94
Affected products
0 configuration(s)
Published / Modified
2026-07-09 / 2026-07-09

NVD description (verbatim)

A security flaw has been discovered in enquirer up to 2.4.1. Affected is the function Enquirer.set of the component Public Package API. The manipulation of the argument question.name results in improperly controlled modification of object prototype attributes. The attack can be launched remotely. The exploit has been released to the public and may be used for attacks. The project was informed of the problem early through an issue report.

7 reference(s) · View on NVD →

SEC.co analysis · AI-assisted, reviewed against source

Technical summary

CVE-2026-15187 is a prototype pollution vulnerability in the enquirer package (up to version 2.4.1) within the Enquirer.set function of the Public Package API. The vulnerability stems from improper sanitization of the question.name argument, allowing an attacker with existing authentication credentials to inject properties into Object.prototype. This is classified under CWE-1321 (Improper Restriction of Rendered UI Layers or Frames) and CWE-94 (Improper Control of Generation of Code ('Code Injection')). The attack surface is network-accessible, requires low complexity, and mandates prior authentication. The CVSS 3.1 score is 4.3 (MEDIUM severity) with a vector of CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N, indicating integrity impact but no confidentiality or availability consequences.

Business impact

Organizations running enquirer-dependent applications face limited but real risk. The integrity impact allows authenticated users to modify application behavior in unexpected ways—for example, altering form validation logic or triggering unintended code paths. While this is not a direct data breach or system outage vector, it can erode application trustworthiness and create opportunities for privilege abuse or data manipulation if chained with other weaknesses. Teams managing developer tools and CLI utilities that depend on enquirer should prioritize remediation to prevent supply-chain compromise scenarios.

Affected systems

The vulnerability affects enquirer package versions up to and including 2.4.1. Any application directly using the Enquirer.set method with untrusted input for the question.name parameter is at risk. This includes CLI tools, interactive scripts, and automation frameworks that leverage enquirer for user interaction. Indirect exposure occurs in projects that consume enquirer as a transitive dependency without version constraints.

Exploitability

Exploitation is straightforward: an attacker who has already authenticated to an application or service using enquirer can craft a malicious question.name value to pollute the Object.prototype. The attack is not complex and does not require user interaction. Public exploit code has been released, reducing the barrier to weaponization. However, the requirement for prior authentication significantly limits opportunistic attacks; this is not a wormable or pre-auth vulnerability.

Remediation

Upgrade enquirer to a version that patches this vulnerability—consult the enquirer GitHub repository or npm package advisories for the specific patched release. For applications where immediate patching is not feasible, implement input validation and sanitization on question.name parameters before passing them to Enquirer.set, and consider restricting usage of enquirer to trusted internal tools only. Review and audit any applications that use enquirer with user-supplied data.

Patch guidance

Check the enquirer npm package repository and official release notes for versions newer than 2.4.1 that address this prototype pollution issue. Apply the patched version across all dependencies—use npm audit to identify affected transitive dependencies and update package-lock.json accordingly. Test compatibility of the patched version with your application before deploying to production, as prototype pollution fixes sometimes require small API adjustments.

Detection guidance

Monitor for suspicious modifications to Object.prototype in runtime environments, particularly in Node.js applications using enquirer. Check application logs and process execution traces for calls to Enquirer.set with unusual or suspicious question.name values (e.g., containing proto, constructor, or prototype strings). npm audit and SBOM scanning tools will flag vulnerable versions of enquirer in your dependency tree. Consider adding lint rules to detect prototype pollution patterns in code review.

Why prioritize this

Although CVSS 4.3 is rated MEDIUM, this vulnerability merits priority for organizations heavily invested in Node.js tooling and CLI automation. The public availability of exploit code and the authenticated-but-common nature of the attack vector mean that insider threats and compromised service accounts could abuse this flaw. Prioritize teams building developer-facing tools and those managing shared internal CLI utilities.

Risk score, explained

The CVSS 3.1 score of 4.3 reflects a network-accessible vulnerability with low attack complexity, but mitigated by the requirement for prior authentication (PR:L) and limited scope (S:U). The integrity impact (I:L) is the primary concern—no confidentiality or availability compromise occurs. This places the risk in the MEDIUM band. The actual risk to your organization depends on how widely enquirer is used internally and whether user-facing authentication systems rely on it.

Frequently asked questions

What is prototype pollution and why does it matter?

Prototype pollution is a class of vulnerability where an attacker modifies JavaScript Object.prototype (the base object all instances inherit from), potentially altering the behavior of the entire application. In this case, an authenticated user could inject malicious properties that affect form validation, data handling, or control flow, leading to unintended state changes or even remote code execution if chained with other flaws.

Do I need to patch immediately if I use enquirer?

Yes, if your application or any of its dependencies use enquirer ≤2.4.1 and accept authentication from multiple users or untrusted sources. If enquirer is only used in isolated internal tools with strict user controls, the risk is lower—but patching remains the safest course. Check your package-lock.json and npm audit report to determine if you're affected.

What if I cannot patch enquirer right away?

Implement strict input validation on the question.name parameter before passing it to Enquirer.set; reject or sanitize any values that contain __proto__, constructor, or prototype. Audit recent logs for suspicious question.name values. Restrict usage of the affected code path to trusted administrators only. Plan a patched upgrade within the next 30 days.

Will this vulnerability be added to CISA's Known Exploited Vulnerabilities list?

Currently, this CVE is not on CISA's KEV catalog. However, public exploit code is available, which increases the likelihood of widespread abuse. Do not assume that lack of KEV status means lower priority—act on the public exploit availability and authenticate exposure vectors within your environment.

This analysis is provided for educational and operational security purposes. The information herein is based on publicly available CVE data as of the publication date. No exploit code is provided; references to public exploits are informational only. Always verify patch availability and compatibility with your specific software versions before deployment. This summary does not constitute legal or compliance advice. Organizations should conduct their own risk assessment based on their unique infrastructure, threat model, and business context. Source: NVD (public-domain), retrieved 2026-08-17. Analysis generated by SEC.co (claude-haiku-4-5).