Katalog CVE

CVE-2026-104848

KrytyczneCVSS 9.5
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

Tinypool przed wersją 2.1.1 konstruuje ThreadPool.options ze zwykłego obiektu opcji i odczytuje opcje execArgv i env w dist/index.js, co pozwala na skopiowanie wartości odziedziczonych z zanieczyszczonego Object.prototype do własnych właściwości i przekazanie ich do worker_threads.Worker. Atakujący, który najpierw może zanieczyścić którąkolwiek z tych właściwości, może spowodować, że każdy nowo utworzony worker załaduje wybrany przez atakującego JavaScript poprzez argumenty preload z linii poleceń lub NODE_OPTIONS, co prowadzi do wykonania kodu z uprawnieniami procesu gospodarza i możliwego dostępu do sekretów CI, materiałów do podpisywania lub artefaktów budowania. Problem został naprawiony w wersji 2.1.1.

Ocena ryzyka

Ryzyko obejmuje wykonanie dowolnego kodu z uprawnieniami procesu gospodarza oraz potencjalny dostęp do wrażliwych danych, takich jak sekrety CI, materiały do podpisywania lub artefakty budowania, co może prowadzić do poważnego naruszenia bezpieczeństwa.

Rekomendacja

Zaleca się aktualizację Tinypool do wersji 2.1.1 lub nowszej oraz zabezpieczenie przed zanieczyszczeniem prototypu, aby uniemożliwić atakującemu manipulowanie opcjami workera.

Inne podatności w Tinypool

Oryginalny opis (angielski, źródło NVD)

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.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS