pnpm — менеджер пакетов. До версии 10.28.2, когда pnpm устанавливает зависимость `file:` (каталог) или `git:`, он следует по символическим ссылкам и считывает их целевое содержимое, не ограничивая его корнем пакета. Вредоносный пакет, содержащий символическую ссылку на абсолютный путь (например, `/etc/passwd`, `~/.ssh/id_rsa`), заставляет pnpm копировать содержимое этого файла в `node_modules`, что приводит к утечке локальных данных.
Уязвимость затрагивает только зависимости `file:` и `git:`. Символические ссылки пакетов реестра (npm) удаляются во время публикации и НЕ затрагиваются. Эта проблема затрагивает разработчиков, устанавливающих локальные/файловые зависимости, а также конвейеры CI/CD, устанавливающие зависимости git.
Это может привести к краже учетных данных через символические ссылки на `~/.aws/credentials`, `~/.npmrc`, `~/.ssh/id_rsa`. Версия 10.28.2 содержит патч.
Показать оригинальное описание (EN)
pnpm is a package manager. Prior to version 10.28.2, when pnpm installs a `file:` (directory) or `git:` dependency, it follows symlinks and reads their target contents without constraining them to the package root. A malicious package containing a symlink to an absolute path (e.g., `/etc/passwd`, `~/.ssh/id_rsa`) causes pnpm to copy that file's contents into `node_modules`, leaking local data. The vulnerability only affects `file:` and `git:` dependencies. Registry packages (npm) have symlinks stripped during publish and are NOT affected. The issue impacts developers installing local/file dependencies andCI/CD pipelines installing git dependencies. It can lead to credential theft via symlinks to `~/.aws/credentials`, `~/.npmrc`, `~/.ssh/id_rsa`. Version 10.28.2 contains a patch.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Pnpm Pnpm
cpe:2.3:a:pnpm:pnpm:*:*:*:*:*:node.js:*:*
|
— |
10.28.2
|