CyberRota Analysis
AI-GeneratedTinypool versions prior to 2.1.2 are vulnerable due to improper handling of caller-supplied options in the pool.run(task, options) method, allowing an attacker to exploit a polluted Object.prototype.filename. This could lead to the execution of malicious JavaScript within the worker pool, enabling unauthorized access to task data with the host process's privileges. Developers using Tinypool in applications that pass custom options to pool.run should prioritize upgrading to version 2.1.2 to mitigate this critical risk.
Public Exploit Signal
A public exploit, PoC, GitHub repository or Metasploit reference was detected for this CVE.
Note: these links are listed for security research and verification purposes only.
Original NVD Description
Tinypool is a minimal Node.js worker thread pool implementation. Prior to 2.1.2, Tinypool reads filename from a caller-supplied options object in pool.run(task, options) without requiring an own property, so a polluted Object.prototype.filename can replace the intended worker module. Applications are affected only when they pass their own second-argument options object to pool.run(); calls without that argument use the trusted default options object. An attacker who can first pollute the prototype can cause the worker pool to load attacker-selected JavaScript and can read or modify task data with the host process's privileges. This issue is fixed in version 2.1.2.