pnpm — менеджер пакетов. Версии 10.26.2 и ниже хранят зависимости HTTP-тарбола (и архивы, размещенные на git) в файле блокировки без хешей целостности. Это позволяет удаленному серверу обслуживать разное содержимое при каждой установке, даже если зафиксирован файл блокировки. Злоумышленник, публикующий пакет с зависимостью HTTP-тарбола, может предоставлять разный код разным пользователям или средам CI/CD. Атака требует, чтобы жертва установила пакет, в дереве зависимостей которого есть архив HTTP/git. Файл блокировки жертвы не обеспечивает никакой защиты. Эта проблема исправлена в версии 10.26.0.
Показать оригинальное описание (английский)
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 ВЕКТОРА
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Тип уязвимости (CWE)
Уязвимые продукты
Известные затронутые конфигурации ПО
| Конфигурация | От (включительно) | До (не включая) |
|---|---|---|
|
cpe:2.3:a:pnpm:pnpm:*:*:*:*:*:*:node.js:*
Pnpm:Pnpm
|
- | 10.26.0 |