pnpm — менеджер пакетов. До версий 10.34.2 и 11.5.3 ключи объекта контейнера манифеста, такие как «», «.» и «..», проходили защиту имени контейнера pnpm. Если вредоносный пакет был установлен глобально, последующие глобальные потоки удаления, обновления или добавления-замены могли повторно получить эти имена из установленного манифеста и передать path.join(globalBinDir, binName) в RemoveBin.
Для "." это нацелено на глобальный каталог bin; для «..» это нацелено на его родителя. Эта уязвимость исправлена в версиях 10.34.2 и 11.5.3.
Показать оригинальное описание (EN)
pnpm is a package manager. Prior to 10.34.2 and 11.5.3, Manifest bin object keys such as "", ".", and ".." passed pnpm's bin-name guard. When a malicious package was installed globally, later global remove, update, or add-replacement flows could re-derive those names from the installed manifest and pass path.join(globalBinDir, binName) to removeBin. For "." this targets the global bin directory; for ".." this targets its parent. This vulnerability is fixed in 10.34.2 and 11.5.3.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 2
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Pnpm Pnpm
cpe:2.3:a:pnpm:pnpm:*:*:*:*:*:node.js:*:*
|
— |
10.34.2
|
|
Pnpm Pnpm
cpe:2.3:a:pnpm:pnpm:*:*:*:*:*:node.js:*:*
|
11.0.0
|
11.5.3
|