{"id":"EUVD-2026-91719","revision":"91a0bef8f59d463c8c6f3a02e059c482","records":[{"revision":"91a0bef8f59d463c8c6f3a02e059c482","observedAt":"2026-11-05T03:55:32.47+00:00","statement":{"source":"euvd","id":"EUVD-2026-91719","aliases":["CVE-2026-104849","GHSA-85c8-ppgw-ccpr"],"title":"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.file…","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.","state":0,"publishedAt":null,"modifiedAt":null,"affected":[],"metrics":[{"system":"EUVD CVSS 4.0","vector":"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","score":9.5,"severity":null}],"references":["https://github.com/tinylibs/tinypool/security/advisories/GHSA-85c8-ppgw-ccpr","https://github.com/tinylibs/tinypool/pull/135","https://github.com/tinylibs/tinypool/commit/f41411a3e23324c674f35a19a3240f7a7c40ffbf","https://github.com/tinylibs/tinypool/releases/tag/v2.1.2"],"sourceUrl":"https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-91719","license":"ENISA EUVD · source terms and attribution apply","enrichment":{"sourceStatus":null,"weaknesses":[],"productCriteria":[],"sourceDates":{"datePublished":"Oct 2, 2026, 4:17:28 PM","dateUpdated":"Oct 6, 2026, 4:35:59 PM"},"relatedAdvisories":[],"note":"EUVD source date text has no stated timezone and is retained without inventing a UTC instant. Related bulletin membership is not an alias, common cause or applicability claim. A missing vector with a zero score is treated as unrated. Complete vendor/product and underlying source evidence remains in the original JSON."},"key":"euvd:EUVD-2026-91719","identifiers":["EUVD-2026-91719","CVE-2026-104849","GHSA-85c8-ppgw-ccpr"]},"retained":false,"historicalAffected":[]}],"coverage":[]}