Skip to main content
← All vulnerabilities
CVE-2026-104849GHSA-85C8-PPGW-CCPR

Tinypool: Prototype Pollution Gadget to RCE in run() options

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 2.1.2
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: yes
  • Technical impact: total

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: yes · Technical impact: total

  3. Record last updated

Affected versions

  • tinylibs tinypool

    fixed in 2.1.2

  • tinypoolnpm

    fixed in 2.1.2

References 4

GitHub · tinylibs/tinypool