{"id":"CVE-2026-104848","title":"Tinypool is a minimal Node.js worker thread pool implementation","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 inherite…","severity":"critical","cvss":9.5,"cvssVector":"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","cwe":["CWE-1321","CWE-915"],"vendor":"tinylibs","product":"tinypool","affected":["tinypool < 2.1.1"],"published":"2026-10-02","updated":"2026-10-02","sourceUpdated":"2026-10-02T18:33:20.487","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-104848","references":[{"url":"https://github.com/tinylibs/tinypool/commit/24df4e730e7d0857a6d226c9b58f8924227404fd","label":"security-advisories@github.com"},{"url":"https://github.com/tinylibs/tinypool/pull/134","label":"security-advisories@github.com"},{"url":"https://github.com/tinylibs/tinypool/releases/tag/v2.1.1","label":"security-advisories@github.com"},{"url":"https://github.com/tinylibs/tinypool/security/advisories/GHSA-5gmw-xhrv-c9v3","label":"security-advisories@github.com"},{"url":"https://github.com/tinylibs/tinypool/security/advisories/GHSA-5gmw-xhrv-c9v3","label":"134c704f-9b21-4f2e-91b3-4a467353bcc0"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-104848"},{"url":"https://github.com/advisories/GHSA-5gmw-xhrv-c9v3"},{"url":"https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-104848.json"},{"url":"https://access.redhat.com/security/cve/CVE-2026-104848"},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2545291"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-104848"}],"tags":["nvd","cve.org","exploit-available","ghsa","npm","csaf","vex","red-hat"],"exploitAvailable":true,"ssvc":{"exploitation":"poc","automatable":"no","technicalImpact":"total","timestamp":"2026-10-02T17:29:00.481503Z"},"cvssSource":"cna","ingestedAt":"2026-10-02T17:24:03.903Z","epss":0.00497,"epssPercentile":0.4243,"aliases":["GHSA-5gmw-xhrv-c9v3"],"ecosystem":"npm","patched":["tinypool 2.1.1"],"scores":{"cna":9.5,"vendor":8.1},"slug":"CVE-2026-104848","body":"## Overview\n\nTinypool 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.\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.\n\n## Package advisory (CVE-2026-104848)\n\nAffected packages:\n\n- `tinypool <= 2.1.0`\n\nPatched in:\n\n- `tinypool 2.1.1`\n\nSource: https://github.com/advisories/GHSA-5gmw-xhrv-c9v3\n\n## Vendor advisories\n\n- **Red Hat VEX** · Important · affected: Red Hat AMQ Broker 7, Red Hat Build of Podman Desktop · no fix planned: Red Hat Build of Podman Desktop, Red Hat AMQ Broker 7 · updated 2026-10-09 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-104848.json)","depth":"abyssal","depthScore":64,"depthScoreParts":{"impact":52.3,"likelihood":0.1,"exploitation":12,"ransomware":0},"changes":[{"seq":215029,"id":"CVE-2026-104848","ts":1790965600679,"field":"exploit_available","old":"false","new":"true"}]}