CVE-2026-102992: CWE-1321: Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution') in piscinajs piscina
piscina is a node.js worker pool implementation. Prior to 4.9.4, 5.3.2, and 6.0.0-rc.5, Piscina stores ThreadPool.options in src/index.ts as a plain object that inherits from Object.prototype. Applications with a separate prototype-pollution primitive can therefore supply inherited values for security-sensitive options that do not have own defaults. An inherited execArgv value is passed to the Node.js Worker constructor and can preload attacker-controlled code in worker threads, an inherited loadBalancer function can execute during task scheduling, and inherited env values can alter worker environments. This issue is fixed in versions 4.9.4, 5.3.2, and 6.0.0-rc.5.
AI Analysis
Technical Summary
Piscina, a Node.js worker pool library, prior to versions 4.9.4, 5.3.2, and 6.0.0-rc.5, stores ThreadPool.options as a plain object inheriting from Object.prototype. This design flaw allows prototype pollution where an attacker can supply inherited properties for options without own defaults. Specifically, an inherited execArgv value can be passed to the Node.js Worker constructor, enabling preloading of attacker-controlled code in worker threads. Additionally, an inherited loadBalancer function can execute during task scheduling, and inherited env values can modify worker environments. These behaviors can lead to code execution and environment manipulation within worker threads. The issue is resolved in the stated fixed versions.
Potential Impact
An attacker can exploit this vulnerability to execute arbitrary code in worker threads by injecting malicious execArgv values. They can also influence task scheduling through a malicious loadBalancer function and alter the environment variables of worker threads. This can lead to significant security breaches including remote code execution and unauthorized environment manipulation. The CVSS 4.0 score of 9.2 reflects a critical severity with network attack vector, high impact on confidentiality, integrity, and availability, and no privileges or user interaction required.
Mitigation Recommendations
Upgrade piscina to version 4.9.4, 5.3.2, or 6.0.0-rc.5 or later, where this prototype pollution vulnerability is fixed. No other mitigation is required as the issue is resolved in these official releases.
CVE-2026-102992: CWE-1321: Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution') in piscinajs piscina
Description
piscina is a node.js worker pool implementation. Prior to 4.9.4, 5.3.2, and 6.0.0-rc.5, Piscina stores ThreadPool.options in src/index.ts as a plain object that inherits from Object.prototype. Applications with a separate prototype-pollution primitive can therefore supply inherited values for security-sensitive options that do not have own defaults. An inherited execArgv value is passed to the Node.js Worker constructor and can preload attacker-controlled code in worker threads, an inherited loadBalancer function can execute during task scheduling, and inherited env values can alter worker environments. This issue is fixed in versions 4.9.4, 5.3.2, and 6.0.0-rc.5.
CVSS v4.0
Score 9.2critical
Affected software
piscinajs
piscina
pkg:npm/piscinaRun on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
Piscina, a Node.js worker pool library, prior to versions 4.9.4, 5.3.2, and 6.0.0-rc.5, stores ThreadPool.options as a plain object inheriting from Object.prototype. This design flaw allows prototype pollution where an attacker can supply inherited properties for options without own defaults. Specifically, an inherited execArgv value can be passed to the Node.js Worker constructor, enabling preloading of attacker-controlled code in worker threads. Additionally, an inherited loadBalancer function can execute during task scheduling, and inherited env values can modify worker environments. These behaviors can lead to code execution and environment manipulation within worker threads. The issue is resolved in the stated fixed versions.
Potential Impact
An attacker can exploit this vulnerability to execute arbitrary code in worker threads by injecting malicious execArgv values. They can also influence task scheduling through a malicious loadBalancer function and alter the environment variables of worker threads. This can lead to significant security breaches including remote code execution and unauthorized environment manipulation. The CVSS 4.0 score of 9.2 reflects a critical severity with network attack vector, high impact on confidentiality, integrity, and availability, and no privileges or user interaction required.
Mitigation Recommendations
Upgrade piscina to version 4.9.4, 5.3.2, or 6.0.0-rc.5 or later, where this prototype pollution vulnerability is fixed. No other mitigation is required as the issue is resolved in these official releases.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2026-09-29T20:46:08.334Z
- Cvss Version
- 4.0
- State
- PUBLISHED
Threat ID: 6abd6b1e2a4e24523d869f94
Added to database: 09/30/2026, 20:03:42 UTC
Last enriched: 09/30/2026, 20:18:10 UTC
Last updated: 10/01/2026, 04:25:28 UTC
Views: 9
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.