CVE-2026-102992 piscina: Prototype-pollution gadget in ThreadPool.options allows RCE via execArgv / loadBalancer / env

Critical 9.2 Published Updated

Prototype pollution in piscina allows attackers to inject code into worker threads via inherited options, leading to remote code execution.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2026-102992?

CVE-2026-102992 is a critical code injection vulnerability in piscinajs piscina, published on 30 Sep 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official 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.

Weakness: CWE-1321

Which versions are affected by CVE-2026-102992?

6 open source packages ship an affected version, including piscina.

PackageAffectedFixed in
piscina npmAll versions4.9.4
piscina npmAll versions4.9.4
piscina npmFrom 5.0.05.3.2
piscina npmFrom 5.0.05.3.2
piscina npmFrom 6.0.0-rc.16.0.0-rc.5
piscina npmFrom 6.0.0-rc.16.0.0-rc.5

How do I fix CVE-2026-102992?

Upgrade piscina to a fixed version for your release line: 4.9.4, 5.3.2 or 6.0.0-rc.5.

Upgrade, and never evaluate templates, expressions or code built from user input. More about Code injection.

Is CVE-2026-102992 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-102992 exists.

Sources

Also known as AZL-105657, CLSA-2026-1790888307, CLSA-2026-1790937670, CLSA-2026-1791028065, CLSA-2026-1792472733, ECHO-6c5e-2e46-3d72 and 8 more.

Is CVE-2026-102992 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free