piscina: Prototype Pollution Gadget → RCE via inherited options.filename
Exact source revision recorded 3 Nov 2026 21:57:16 UTC. It does not establish the source's current position. Latest evidence.
cve-program · CVE-2026-55388
Publishedpiscina 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.
- Source published
- 22 Jun 2026 16:50:40 UTC
- Source modified
- 3 Nov 2026 19:14:08 UTC
- Observed here
- 3 Nov 2026 21:57:16 UTC
- Source terms
- CVE Program Terms of Use
Original source record · Cite this exact observation · Complete original publisher JSON
This view projects the publisher's source fields for reading; the original JSON retains additional fields and CVE enrichment containers. Attribution: cve-program · CVE Program Terms of Use. Source text is retained; field grouping and change labels are provided by ChangeIntel.
CVSS 3.1 · 8.1 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H