CVE-2026-101043
pnpm 11.0.0 before 11.11.0 Environment Variable Exfiltration via Proxy Settings
Что произошло
pnpm versions 11.0.0 before 11.11.0 and 10.7.0 before 10.34.5 expand ${VAR} environment-variable placeholders in the httpProxy, httpsProxy, and noProxy settings read from a project's pnpm-workspace.yaml. Because the manifest is repository-controlled and the proxy keys were omitted from the request-destination key set that otherwise suppresses placeholder expansion for untrusted manifests (as already done for registry, pnprServer, registries and namedRegistries), an attacker who controls a repository's pnpm-workspace.yaml can cause a victim who clones the repository and runs a pnpm command (e.g. pnpm install) to expand environment secrets such as NPM_TOKEN or GITHUB_TOKEN into a proxy hostname or userinfo and route install traffic — and the corresponding DNS lookups — through an attacker-controlled host. The exfiltration occurs during configuration loading, before any lifecycle script executes. Fixed in pnpm 11.11.0 and 10.34.5.
Что это значит
В источнике описана ошибка безопасности в перечисленных продуктах. Фактический риск зависит от установленной версии, конфигурации и доступности компонента; проверьте условия в первичном бюллетене.
Что делать
1. Проверьте, затронуты ли вы
Соберите инвентаризацию и сравните с таблицей затронутых версий. Эти команды только показывают установленные компоненты и сами по себе не доказывают наличие CVE.
dpkg-query -W -f='${Package} ${Version}\n'rpm -qa --qf '%{NAME}\t%{VERSION}-%{RELEASE}\n'Get-HotFix | Select-Object HotFixID, InstalledOn
2. Установите исправление
Сверьте точный продукт и версию с бюллетенем вендора. Установите указанное в нём исправление после резервного копирования и проверки совместимости. Подтверждённая целевая версия в источниках отсутствует.
3. Временные меры
До проверки бюллетеня ограничьте доступ к затронутому компоненту доверенными узлами. Оцените сегментацию и отключение ненужных интерфейсов с владельцем сервиса; универсального правила WAF для этой CVE не подтверждено.
4. Проверьте следы эксплуатации
Проверьте аномальные входы, новые учётные записи, ошибки и необычные дочерние процессы в затронутом сервисе. Публичные проверенные правила обнаружения не включены в запись; отсутствие сигналов не доказывает отсутствие компрометации.
5. После исправления
- Проверьте фактическую версию и результат установки по бюллетеню.
- При необходимости перезапустите сервисы в согласованное окно.
- Повторите проверку сканером и функциональные проверки.
- Зафиксируйте результат, дату, владельца и оставшийся риск.
Продукты и затронутые версии
pnpm / pnpm
{
"status": "affected",
"version": "11.0.0",
"lessThan": "11.11.0",
"versionType": "semver"
}{
"status": "unaffected",
"version": "11.11.0",
"versionType": "semver"
}pnpm / pnpm
{
"status": "affected",
"version": "10.7.0",
"lessThan": "10.34.5",
"versionType": "semver"
}{
"status": "unaffected",
"version": "10.34.5",
"versionType": "semver"
}pnpm npm
{
"status": "affected",
"version": "*",
"versionEndExcluding": "11.11.0",
"versionStartIncluding": "11.0.0"
}pnpm npm
{
"status": "affected",
"version": "*",
"versionEndExcluding": "10.34.5",
"versionStartIncluding": "10.7.0"
}CVSS: оценки и векторы
CVSS 4.0 · cve8.3
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N
CVSS 3.1 · cve7.4
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N
Источники и ссылки
Происхождение полей
{
"cwes": [
"cve"
],
"epss": {
"source": "epss",
"received_at": "2026-11-04T21:13:32.039882+00:00"
},
"title": {
"source": "cve",
"received_at": "2026-10-28T19:31:46.260399+00:00"
},
"scores": [
"cve"
],
"status": {
"source": "cve",
"received_at": "2026-10-28T19:31:46.260399+00:00"
},
"affected": [
"cve",
"osv"
],
"published": {
"source": "cve",
"received_at": "2026-10-28T19:31:46.260399+00:00"
},
"solutions": [],
"percentile": {
"source": "epss",
"received_at": "2026-11-04T21:13:32.039882+00:00"
},
"references": [
"cve",
"osv"
],
"description": {
"source": "cve",
"received_at": "2026-10-28T19:31:46.260399+00:00"
},
"workarounds": [],
"configurations": []
}Хронология записи
- Данные обновлены05.11.2026, 00:13
- Данные обновлены04.11.2026, 00:11
- Данные обновлены03.11.2026, 00:10
- Данные обновлены02.11.2026, 15:16
- Данные обновлены02.11.2026, 00:09
- Данные обновлены31.10.2026, 11:56
- Данные обновлены30.10.2026, 15:56
- Данные обновлены29.10.2026, 11:08
- Появилась ссылка на PoC28.10.2026, 22:31
Личная заметка и статус
Другие CVE того же продукта
| УЯЗВИМОСТЬ / ПРОДУКТ | ПРИОРИТЕТ | CVSS | EPSS | СИГНАЛЫ | ОПУБЛИКОВАНА | Карточка |
|---|---|---|---|---|---|---|
| CVE-2026-82393 pnpm: A tarball dependency's manifest `name` escapes node_modules → arbitrary file write/overwrite on install pnpm / pnpm · pnpm | Критический | 7.5 | 0,63 % | PoC | 01.09.2026 | |
| CVE-2026-50573 pnpm: Unsafe default behavior breaks integrity check pnpm / pnpm · pnpm | Критический | 8.1 | 0,17 % | PoC | 25.06.2026 | |
| CVE-2026-50021 pnpm: Integrity Check Bypass via Missing Lockfile Integrity Field pnpm / pnpm · pnpm | Критический | 8.1 | 0,18 % | PoC | 25.06.2026 | |
| CVE-2026-50014 pnpm: Git Fetch Argument Injection via Lockfile resolution.commit pnpm / pnpm · pnpm | Критический | 7.3 | 0,32 % | PoC | 25.06.2026 | |
| CVE-2026-101044 pacquet before 12.0.0-alpha.5 Path Traversal via lockfile alias pnpm / pnpm | Высокий | 7.1 | 0,26 % | 27.09.2026 |