Answer in brief
CVE-2026-55388 records a High severity (CVSS 8.1) vulnerability in piscina: Prototype Pollution Gadget → RCE via inherited options.filename. The current sources do not mark it as known exploited. The current feed maps piscinajs/piscina (generic), piscina (npm), piscina (npm), piscina (npm). Check affected ranges and fixed versions before updating.
Analysis pending evidence review
HOL Guard separates source facts from reviewed analysis. See the methodology.
CVSS is 8.1. The current sources do not mark it as known exploited. Treat this as a source-backed prioritization signal, not a statement about your environment.
Analysis status
Analysis pending evidence review
Factual feed record only; HOL analysis is not approved for indexing. Read the methodology.
The current feed maps piscinajs/piscina (generic), piscina (npm), piscina (npm), piscina (npm). Check affected ranges and fixed versions before updating.
| Package | Affected range | Fixed version |
|---|---|---|
| piscinajs/piscinageneric | <4.9.3 || >=5.0.0-alpha.0 <5.2.0 || >=6.0.0-rc.1 <6.0.0-rc.2 | 4.9.3, 5.2.0, 6.0.0-rc.2 |
| piscinanpm | <=4.9.2 | 4.9.3 |
| piscinanpm | >=5.0.0-alpha.0,<=5.1.4 | 5.2.0 |
| piscinanpm | >=6.0.0-rc.1,<6.0.0-rc.2 | 6.0.0-rc.2 |
Published upstream
Jun 22, 2026
Evidence: source:cvelist:source_dates:source-dates:recordSource modified
Nov 3, 2026
Evidence: source:cvelist:source_dates:source-dates:recordFirst seen by HOL
Jun 19, 2026
piscina is a node.js worker pool implementation. Prior to 6.0.0-rc.2, 5.2.0, and 4.9.3, piscina's constructor and run() paths read the filename option via plain member access. Both reads fall through the prototype chain when the caller's options object doesn't have filename as an own property. When Object.prototype.filename is polluted upstream the inherited value flows to worker_threads.Worker import and the attacker's .mjs runs in the worker. This vulnerability is fixed in 6.0.0-rc.2, 5.2.0, and 4.9.3.
Quoted source text, attributed separately from HOL analysis.