CVE-2026-104849CWE-1321CWE-94code-injection

CVE-2026-104849

published October 2, 2026

CVSS
9.5
EPSS
0%
Percentile
31.9
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS
9.5 · NONE
CVSS v4.0
9.5 · CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
EPSS
0.00390 · 31.9th percentile
Weaknesses
CWE-1321 · Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution'); CWE-94 · Improper Control of Generation of Code ('Code Injection')
Published
2026-10-02T21:17Z
References (5)
EPSS history
Timeline
  • 04 OCT 03:27Z
    EPSS moved — → 0%
    epss
  • 02 OCT 16:17Z
    Tinypool: Prototype Pollution Gadget to RCE in run() options
    cvelistv5