Intel

AIKIDO-2026-266277

piscina is vulnerable to Prototype Pollution

Prototype PollutionGHSA-67c8-pqhq-4rmx Published Yesterday

81

High Risk

This Affects:

JSpiscina
1.0.0 - 4.9.3
Fixed in 4.9.4
5.0.0 - 5.3.1
Fixed in 5.3.2
Are you affected? Scan for Free

TL;DR

Piscina builds its thread-pool options and per-task run and close options by spreading caller-supplied options into plain objects that inherit from Object.prototype. When Object.prototype is polluted elsewhere in the process, inherited properties such as execArgv, loadBalancer, env, and resourceLimits are read as pool and worker configuration. A polluted execArgv forces every worker thread to preload and execute an externally controlled module, giving remote code execution, while loadBalancer and env allow further code and configuration injection. The fix copies only own properties into null-prototype objects for the constructor, pool, run, and close options so polluted prototype values can no longer influence configuration.

Who does this affect?

You are affected if you are using a version that falls within the vulnerable range and your application or one of its dependencies contains a prototype pollution sink that lets externally influenced input write to Object.prototype.

Background info

piscina is vulnerable to Prototype Pollution in versions 1.0.0 - 4.9.3 and 5.0.0 - 5.3.1.

How to fix this

Upgrade the piscina library to the patch version.

Are You Affected?

Connect your repositories to instantly see whether vulnerable or malicious packages exist in your codebase.

Free. No credit card required.

Aikido Platform