ГлавнаяБаза уязвимостей БДУ → BDU:2026-01028
4.9средняя

BDU:2026-01028

Уязвимость функции path.join() менеджера пакетов pnpm, позволяющая нарушителю получить несанкционированный доступ к защищаемой информации и повысить свои привилегии
Опубликовано: 2026-01-30
Описание

Уязвимость функции path.join() менеджера пакетов pnpm связана с неверным ограничением имени пути к каталогу с ограниченным доступом при обработке поля directories.bin. Эксплуатация уязвимости может позволить нарушителю получить несанкционированный доступ к защищаемой информации и повысить свои привилегии

Затрагиваемое ПО и версии
pnpm (до 10.28.2)
Способ устранения

Использование рекомендаций:
https://github.com/pnpm/pnpm/commit/17432ad5bbed5c2e77255ca6d56a1449bbcfd943
https://github.com/pnpm/pnpm/releases/tag/v10.28.2

Компенсирующие меры:
Добавьте функцию проверки путей isSubdir() поля directories.bin в файле pkg-manager/package-bins/src/index.ts, аналогичную существующей проверке в commandsFromBin():
if (manifest.directories?.bin) {
const binDir = path.join(pkgPath, manifest.directories.bin)
if (!isSubdir(pkgPath, binDir)) {
return [] // Reject paths outside package
}
// ...
}

Оценка CVSS
Балл4.9 — средняя опасность
Источники и патчи
https://github.com/pnpm/pnpm/commit/17432ad5bbed5c2e77255ca6d56a1449bbcfd943https://github.com/pnpm/pnpm/releases/tag/v10.28.2https://github.com/pnpm/pnpm/security/advisories/GHSA-v253-rj99-jwpq
Проверьте безопасность своего сайта и почты → Полная проверка домена