pnpm — менеджер пакетов. Версии 10.26.2 и ниже хранят зависимости HTTP-тарбола (и архивы, размещенные на git) в файле блокировки без хешей целостности. Это позволяет удаленному серверу обслуживать разное содержимое при каждой установке, даже если зафиксирован файл блокировки.
Злоумышленник, публикующий пакет с зависимостью HTTP-тарбола, может предоставлять разный код разным пользователям или средам CI/CD. Атака требует, чтобы жертва установила пакет, в дереве зависимостей которого есть архив HTTP/git. Файл блокировки жертвы не обеспечивает никакой защиты.
Эта проблема исправлена в версии 10.26.0.
Показать оригинальное описание (EN)
pnpm is a package manager. Versions 10.26.2 and below store HTTP tarball dependencies (and git-hosted tarballs) in the lockfile without integrity hashes. This allows the remote server to serve different content on each install, even when a lockfile is committed. An attacker who publishes a package with an HTTP tarball dependency can serve different code to different users or CI/CD environments. The attack requires the victim to install a package that has an HTTP/git tarball in its dependency tree. The victim's lockfile provides no protection. This issue is fixed in version 10.26.0.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Pnpm Pnpm
cpe:2.3:a:pnpm:pnpm:*:*:*:*:*:*:node.js:*
|
— |
10.26.0
|