CVE-2026-102992 json
piscina: Prototype-pollution gadget in ThreadPool.options allows RCE via execArgv / loadBalancer / env
published last mo. modified last mo. also GHSA-67c8-pqhq-4rmx , EUVD-2026-90364
- cvss
- 9.2
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.5%
- EPSS 0.5% chance of exploitation in 30 days, percentile 43%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- npm piscina 4.9.4, 5.3.2, 6.0.0-rc.5
- github.com/piscinajs/piscina@0cb12fc commit
- github.com/piscinajs/piscina@2f69f67 commit
- github.com/piscinajs/piscina@5be7bbb commit
- github.com/piscinajs/piscina@bebbda2 commit
- github.com/piscinajs/piscina/releases/tag/v4.9.4 release
- github.com/piscinajs/piscina/releases/tag/v5.3.2 release
- github.com/piscinajs/piscina/releases/tag/v6.0.0-rc.5 release
Is CVE-2026-102992 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-102992 updated cvss 8.1
piscina: piscina: Prototype-pollution gadget in ThreadPool.options allows RCE via execArgv / loadBalancer / env
-
Red Hat All currently supported Red Hat productsnot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- total
- Assessed
- last mo.
Exploit prediction
0.51% chance of exploitation in the next 30 days, higher than 43% of all scored CVEs (FIRST EPSS, 2026-11-09).
Exploits and checks
- github.com https://github.com/piscinajs/piscina/security/advisories/GHSA-67c8-pqhq-4rmx referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 9.2 | CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N |
| CNA | 4.0 | 9.2 | CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | piscina | >=5.0.0, <5.3.2 <4.9.4 >=6.0.0-rc.1, <6.0.0-rc.5 |
5.3.2 4.9.4 6.0.0-rc.5 |
Affected products
- piscinajs piscina
Classification
- Weakness
-
- CWE-1321 Improperly Controlled Modification of Object Prototype Attributes
References
-
github.com
/piscinajs/piscina/commit/0cb12fca37f526065b072592afe954574dcc656f
web
-
github.com
/piscinajs/piscina/commit/2f69f67159a0e48b38fd61fa4a91c2fdc19fff72
web
-
github.com
/piscinajs/piscina/commit/5be7bbb19e3787bb698862cd516121a578d690f7
web
-
github.com
/piscinajs/piscina/commit/bebbda255c2981cecddd36b171b94be2fd41c9a6
web
-
github.com
/piscinajs/piscina/security/advisories/GHSA-67c8-pqhq-4rmx
exploit, web
-
github.com
/piscinajs/piscina/releases/tag/v4.9.4
web
-
github.com
/piscinajs/piscina/releases/tag/v5.3.2
web
-
github.com
/piscinajs/piscina/releases/tag/v6.0.0-rc.5
web
-
nvd.nist.gov
/vuln/detail/CVE-2026-102992
advisory
-
github.com
/piscinajs/piscina
package
Sources
- CVE List CVE-2026-102992
- GitHub Advisory GHSA-67c8-pqhq-4rmx
- NVD CVE-2026-102992
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.