Skip to main content
← All vulnerabilities
CVE-2026-104848GHSA-5GMW-XHRV-C9V3

Tinypool: Prototype Pollution gadget in worker options leads to Remote Code Execution

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

Summary

Tinypool is a minimal Node.js worker thread pool implementation. Prior to 2.1.1, Tinypool constructs ThreadPool.options from a normal options object and reads the execArgv and env worker options in dist/index.js, allowing values inherited from a polluted Object.prototype to be copied into own properties and passed to worker_threads.Worker. An attacker who can first pollute either property can cause each newly spawned worker to load attacker-selected JavaScript through command-line preload arguments or NODE_OPTIONS, resulting in code execution with the host process's privileges and possible access to CI secrets, signing material, or build artifacts. This issue is fixed in version 2.1.1.

Timeline

  1. CVE published
  2. CISA SSVC assessment

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

  3. Record last updated

Affected versions

  • tinylibs tinypool

    fixed in 2.1.1

  • tinypoolnpm

    fixed in 2.1.1

References 4

GitHub · tinylibs/tinypool