CVE-2026-102992
KrytyczneCVSS 9.2Streszczenie
piscina to implementacja puli wątków dla node.js. Przed wersjami 4.9.4, 5.3.2 i 6.0.0-rc.5, Piscina przechowuje ThreadPool.options w src/index.ts jako zwykły obiekt dziedziczący z Object.prototype. Aplikacje z oddzielnym prymitywem zanieczyszczenia prototypu mogą zatem dostarczać odziedziczone wartości dla opcji wrażliwych na bezpieczeństwo, które nie mają własnych wartości domyślnych. Odziedziczona wartość execArgv jest przekazywana do konstruktora Node.js Worker i może wczytywać kod kontrolowany przez atakującego w wątkach roboczych, odziedziczona funkcja loadBalancer może wykonywać się podczas planowania zadań, a odziedziczone wartości env mogą zmieniać środowiska wątków roboczych. Problem został naprawiony w wersjach 4.9.4, 5.3.2 i 6.0.0-rc.5.
Ocena ryzyka
Ryzyko obejmuje możliwość wykonania nieautoryzowanego kodu w wątkach roboczych, co może prowadzić do naruszenia integralności i poufności aplikacji.
Rekomendacja
Zaleca się aktualizację piscina do wersji 4.9.4, 5.3.2 lub 6.0.0-rc.5 (lub nowszej), które zawierają poprawkę eliminującą podatność.
Inne podatności w piscina
Oryginalny opis (angielski, źródło NVD)
piscina is a node.js worker pool implementation. Prior to 4.9.4, 5.3.2, and 6.0.0-rc.5, Piscina stores ThreadPool.options in src/index.ts as a plain object that inherits from Object.prototype. Applications with a separate prototype-pollution primitive can therefore supply inherited values for security-sensitive options that do not have own defaults. An inherited execArgv value is passed to the Node.js Worker constructor and can preload attacker-controlled code in worker threads, an inherited loadBalancer function can execute during task scheduling, and inherited env values can alter worker environments. This issue is fixed in versions 4.9.4, 5.3.2, and 6.0.0-rc.5.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

