CVE-2021-43616: The npm ci command in npm 7.x and 8.x through 8.1.3 proceeds with an installation even if dependency information in package-lock.json differ
Оценка Noroxi
Приоритет: В плане (оценка срочности 40/100)
- Есть публичный код proof-of-concept (GitHub); записей об эксплуатации в реальных атаках нет.
- Вероятность эксплуатации в ближайшие 30 дней: 2,7% (FIRST EPSS); выше, чем у 86% записей.
- Может быть вызвана любым, у кого есть доступ через интернет. Учётная запись или пароль не требуются. Действия пользователя не требуются. Особые условия не требуются; воспроизводится стабильно.
- Исправленная версия: nodejs (AlmaLinux:8) 1:16.14.0-4.module_el8.6.0+2904+f21ad6f4; nodejs-devel (AlmaLinux:8) 1:16.14.0-4.module_el8.6.0+2904+f21ad6f4; nodejs-docs (AlmaLinux:8) 1:16.14.0-4.module_el8.6.0+2904+f21ad6f4.
- Упоминается в национальных бюллетенях кибербезопасности Турции (siberguvenlik.gov.tr): 1.
Включите в обычный цикл установки исправлений. Обновитесь до nodejs (AlmaLinux:8) 1:16.14.0-4.module_el8.6.0+2904+f21ad6f4; nodejs-devel (AlmaLinux:8) 1:16.14.0-4.module_el8.6.0+2904+f21ad6f4; nodejs-docs (AlmaLinux:8) 1:16.14.0-4.module_el8.6.0+2904+f21ad6f4 или новее.
Формируется автоматически по данным записи: CVSS (NVD и CNA), CISA KEV и SSVC, FIRST EPSS, источники эксплойтов, исправленные версии. Как мы считаем
Первоисточники: NVD · CVE.org · FIRST EPSS
The npm ci command in npm 7.x and 8.x through 8.1.3 proceeds with an installation even if dependency information in package-lock.json differs from package.json. This behavior is inconsistent with the documentation, and makes it easier for attackers to install malware that was supposed to have been blocked by an exact version match requirement in package-lock.json. NOTE: The npm team believes this is not a vulnerability. It would require someone to socially engineer package.json which has different dependencies than package-lock.json. That user would have to have file system or write access to change dependencies. The npm team states preventing malicious actors from socially engineering or gaining file system access is outside the scope of the npm CLI.
- Опубликовано
- 13 нояб. 2021 г.
- Обновлено
- 17 июн. 2026 г.
- EPSS
- 2,7 % · 86-й процентиль
- CWE
- CWE-345
Инструменты для отчёта
Оценка срочности
40
В плане
Включите в обычный цикл установки исправлений.
- CVSS
- 39 / 40 · 9.8 / 10
- CISA KEV
- 0 / 30 · Нет в списке
- EPSS
- 1 / 30 · 2,7 %
Оценка CNA и NVD
- NVD
- 9,8
- CNA · mitre
- 9,0
- разница 0,8 балла
CVSS:3.1/AC:H/AV:N/A:H/C:H/I:H/PR:N/S:C/UI:N
Оценка присваивающего органа и независимая оценка NVD. Разрыв означает, что критичность спорна.
Узнайте, когда запись изменится
- Нет в KEV: эксплуатация в реальных атаках не зафиксирована
- Есть PoC, боевого модуля нет
- Исправление выпущено
Если что-то из этого изменится, сообщим в ежедневной сводке.
У вас WordPress? Проверьте сайт бесплатно в WP Lens
Анализ Noroxi
Что это значит для вашей инфраструктуры?
Оценка выше формируется автоматически по данным записи и не знает вашей среды. Наша команда проверит на ваших системах, действительно ли уязвимость эксплуатируема и какой меры достаточно.
Мы используем этот продукт, нужна помощьЗатронутые системы
Затронута ли ваша версия?
Выберите продукт и введите свою версию. Она сравнивается с диапазонами этой записи прямо в браузере и никуда не отправляется.
| Вендор | Продукт | CPE |
|---|---|---|
| npmjs | npm | cpe:2.3:a:npmjs:npm |
| netapp | next generation application programming interface | cpe:2.3:a:netapp:next_generation_application_programming_interface |
| fedoraproject | fedora | cpe:2.3:o:fedoraproject:fedora |
Затронутые версии
Диапазоны версий NVD (для продуктов из каталога). Добавьте продукт в стек с версией, и сопоставление будет по ним.
- fedoraproject fedora35
- netapp next generation application programming interfaceвсе версии
- npmjs npm7.0.0 и новее · до 7.24.2 включительно
- npmjs npm8.0.0 и новее · до 8.1.3 включительно
Затронутые пакеты
Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.
| Экосистема | Пакет | Затронутый диапазон | Исправление |
|---|---|---|---|
| AlmaLinux:8 | nodejs | до 1:16.14.0-4.module_el8.6.0+2904+f21ad6f4 | 1:16.14.0-4.module_el8.6.0+2904+f21ad6f4 |
| AlmaLinux:8 | nodejs-devel | до 1:16.14.0-4.module_el8.6.0+2904+f21ad6f4 | 1:16.14.0-4.module_el8.6.0+2904+f21ad6f4 |
| AlmaLinux:8 | nodejs-docs | до 1:16.14.0-4.module_el8.6.0+2904+f21ad6f4 | 1:16.14.0-4.module_el8.6.0+2904+f21ad6f4 |
| AlmaLinux:8 | nodejs-full-i18n | до 1:16.14.0-4.module_el8.6.0+2904+f21ad6f4 | 1:16.14.0-4.module_el8.6.0+2904+f21ad6f4 |
| AlmaLinux:8 | nodejs-nodemon | до 2.0.15-1.module_el8.6.0+2904+f21ad6f4 | 2.0.15-1.module_el8.6.0+2904+f21ad6f4 |
| AlmaLinux:8 | nodejs-nodemon | до 2.0.15-1.module_el8.5.0+2605+45d748af | 2.0.15-1.module_el8.5.0+2605+45d748af |
| AlmaLinux:8 | nodejs-packaging | до 25-1.module_el8.5.0+2605+45d748af | 25-1.module_el8.5.0+2605+45d748af |
| AlmaLinux:8 | nodejs-packaging | до 25-1.module_el8.5.0+246+05401605 | 25-1.module_el8.5.0+246+05401605 |
| AlmaLinux:8 | npm | до 1:8.3.1-1.16.14.0.4.module_el8.6.0+2904+f21ad6f4 | 1:8.3.1-1.16.14.0.4.module_el8.6.0+2904+f21ad6f4 |
| Debian:12 | npm | до 8.4.1~ds-1 | 8.4.1~ds-1 |
| Red Hat:enterprise_linux:8::appstream | nodejs | до 1:16.14.0-4.module+el8.6.0+15294+54b291d2 | 1:16.14.0-4.module+el8.6.0+15294+54b291d2 |
| Red Hat:enterprise_linux:8::appstream | nodejs-debuginfo | до 1:16.14.0-4.module+el8.6.0+15294+54b291d2 | 1:16.14.0-4.module+el8.6.0+15294+54b291d2 |
| Red Hat:enterprise_linux:8::appstream | nodejs-debugsource | до 1:16.14.0-4.module+el8.6.0+15294+54b291d2 | 1:16.14.0-4.module+el8.6.0+15294+54b291d2 |
| Red Hat:enterprise_linux:8::appstream | nodejs-devel | до 1:16.14.0-4.module+el8.6.0+15294+54b291d2 | 1:16.14.0-4.module+el8.6.0+15294+54b291d2 |
| Red Hat:enterprise_linux:8::appstream | nodejs-docs | до 1:16.14.0-4.module+el8.6.0+15294+54b291d2 | 1:16.14.0-4.module+el8.6.0+15294+54b291d2 |
| Red Hat:enterprise_linux:8::appstream | nodejs-full-i18n | до 1:16.14.0-4.module+el8.6.0+15294+54b291d2 | 1:16.14.0-4.module+el8.6.0+15294+54b291d2 |
| Red Hat:enterprise_linux:8::appstream | nodejs-nodemon | до 0:2.0.15-1.module+el8.6.0+15294+54b291d2 | 0:2.0.15-1.module+el8.6.0+15294+54b291d2 |
| Red Hat:enterprise_linux:8::appstream | nodejs-packaging | до 0:25-1.module+el8.5.0+10992+fac5fe06 | 0:25-1.module+el8.5.0+10992+fac5fe06 |
| Red Hat:enterprise_linux:8::appstream | npm | до 1:8.3.1-1.16.14.0.4.module+el8.6.0+15294+54b291d2 | 1:8.3.1-1.16.14.0.4.module+el8.6.0+15294+54b291d2 |
| Rocky Linux:8 | nodejs | до 1:16.14.0-4.module+el8.6.0+978+59f26232 | 1:16.14.0-4.module+el8.6.0+978+59f26232 |
| Rocky Linux:8 | nodejs-nodemon | до 0:2.0.15-1.module+el8.5.0+721+4c107270 | 0:2.0.15-1.module+el8.5.0+721+4c107270 |
| Rocky Linux:8 | nodejs-packaging | до 0:25-1.module+el8.5.0+702+221f14e6 | 0:25-1.module+el8.5.0+702+221f14e6 |
| Rocky Linux:8 | nodejs-packaging | до 0:25-1.module+el8.6.0+1046+80feca58 | 0:25-1.module+el8.6.0+1046+80feca58 |
Тот же продукт
npmjs: все записиДругие записи с наивысшей оценкой для того же основного продукта.
- CVE-2019-16776Unauthorized File Access in npm CLI before before version 6.13.333Наблюдать
- CVE-2022-29244npm packing does not respect root-level ignore files in workspaces31Наблюдать
- CVE-2018-7408An issue was discovered in an npm 5.7.0 2018-02-21 pre-release (marked as "next: 5.7.0" and therefore automatically installed by an "npm upg31Наблюдать
Опубликованы до и после этой записи в том же продукте
- ← РаньшеCVE-2019-1677712 дек. 2019 г. · Arbitrary File Overwrite in npm CLI27Наблюдать
- ← РаньшеCVE-2020-150957 июл. 2020 г. · Sensitive information exposure through logs in npm cli17Наблюдать
Исправление
На какую версию обновиться
Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.
| Продукт / пакет | Исправленная версия | Источник |
|---|---|---|
| almalinux:nodejs | 1:16.14.0-4.module_el8.6.0+2904+f21ad6f4 · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:nodejs-devel | 1:16.14.0-4.module_el8.6.0+2904+f21ad6f4 · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:nodejs-docs | 1:16.14.0-4.module_el8.6.0+2904+f21ad6f4 · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:nodejs-full-i18n | 1:16.14.0-4.module_el8.6.0+2904+f21ad6f4 · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:nodejs-nodemon | 2.0.15-1.module_el8.6.0+2904+f21ad6f4 · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:nodejs-packaging | 25-1.module_el8.5.0+246+05401605 · AlmaLinux:8 | Реестр пакетов (OSV) |
| almalinux:npm | 1:8.3.1-1.16.14.0.4.module_el8.6.0+2904+f21ad6f4 · AlmaLinux:8 | Реестр пакетов (OSV) |
| debian:npm | 8.4.1~ds-1 · Debian:12 | Реестр пакетов (OSV) |
| red hat:nodejs | 1:16.14.0-4.module+el8.6.0+15294+54b291d2 · Red Hat:enterprise_linux:8::appstream | Реестр пакетов (OSV) |
| red hat:nodejs-debuginfo | 1:16.14.0-4.module+el8.6.0+15294+54b291d2 · Red Hat:enterprise_linux:8::appstream | Реестр пакетов (OSV) |
| red hat:nodejs-debugsource | 1:16.14.0-4.module+el8.6.0+15294+54b291d2 · Red Hat:enterprise_linux:8::appstream | Реестр пакетов (OSV) |
| red hat:nodejs-devel | 1:16.14.0-4.module+el8.6.0+15294+54b291d2 · Red Hat:enterprise_linux:8::appstream | Реестр пакетов (OSV) |
| red hat:nodejs-docs | 1:16.14.0-4.module+el8.6.0+15294+54b291d2 · Red Hat:enterprise_linux:8::appstream | Реестр пакетов (OSV) |
| red hat:nodejs-full-i18n | 1:16.14.0-4.module+el8.6.0+15294+54b291d2 · Red Hat:enterprise_linux:8::appstream | Реестр пакетов (OSV) |
| red hat:nodejs-nodemon | 0:2.0.15-1.module+el8.6.0+15294+54b291d2 · Red Hat:enterprise_linux:8::appstream | Реестр пакетов (OSV) |
| red hat:nodejs-packaging | 0:25-1.module+el8.5.0+10992+fac5fe06 · Red Hat:enterprise_linux:8::appstream | Реестр пакетов (OSV) |
| red hat:npm | 1:8.3.1-1.16.14.0.4.module+el8.6.0+15294+54b291d2 · Red Hat:enterprise_linux:8::appstream | Реестр пакетов (OSV) |
| rocky linux:nodejs | 1:16.14.0-4.module+el8.6.0+978+59f26232 · Rocky Linux:8 | Реестр пакетов (OSV) |
| rocky linux:nodejs-nodemon | 0:2.0.15-1.module+el8.5.0+721+4c107270 · Rocky Linux:8 | Реестр пакетов (OSV) |
| rocky linux:nodejs-packaging | 0:25-1.module+el8.6.0+1046+80feca58 · Rocky Linux:8 | Реестр пакетов (OSV) |
Статус эксплойта
Есть proof of concept
Существует публичный PoC или сигнатура обнаружения. Знание об эксплойте доступно; не откладывайте установку исправлений.
Доказательство
- Репозиторий PoC на GitHub ×1
Noroxi не размещает код эксплойтов и не даёт на них ссылок. Показываются имена модулей Metasploit и идентификаторы шаблонов Nuclei (имена, не код); записи Exploit-DB и репозитории PoC даются только числом.
| Источник | Тип | Дата |
|---|---|---|
| Репозиторий PoC на GitHub | stars:3 | 2021-11-15 |
Контекст для исследователя
Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.
Хронология
От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.
- Публикация
- Первый PoC+1 дн.
- Сегодня2 нояб. 2026 г.+1815 дн.
Истории пока нет (накапливается ежедневным заданием EPSS).
Ссылки на патчи и коммиты
Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.
Авторы
Все исследователиНашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.
В записи CNA нет авторов.
Кандидаты в варианты
Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.
Ночной расчёт связей ничего не нашёл.
Кандидаты в цепочки
Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.
—
Охват bug bounty
Известной публичной программы нет.
Источник: bounty-targets-data (публичные списки HackerOne, Bugcrowd, Intigriti, YesWeHack).
Национальное уведомление (Управление кибербезопасности Турции / USOM)
Официальные уведомления, ссылающиеся на эту запись; рекомендации — на странице ведомства.
- TR-22-0399 · 2 июн. 2022 г.(RedHat Güvenlik Güncellemesi)
Технические детали
Условия атаки
- Может быть вызвана любым, у кого есть доступ через интернет.
- Учётная запись или пароль не требуются.
- Действия пользователя не требуются.
- Особые условия не требуются; воспроизводится стабильно.
В случае успеха
- Конфиденциальность
- высокое · данные могут быть прочитаны
- Целостность
- высокое · данные или конфигурация могут быть изменены
- Доступность
- высокое · работа сервиса может быть нарушена
- Вектор атаки
- Сеть
- Сложность атаки
- Низкая
- Требуемые привилегии
- Не требуются
- Взаимодействие с пользователем
- Не требуется
- Область действия
- Не изменяется
- Влияние на конфиденциальность
- Высокое
- Влияние на целостность
- Высокое
- Влияние на доступность
- Высокое
Класс уязвимости (CWE)
CWE-345 · Insufficient Verification of Data AuthenticityВектор CVSS
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
nvd-primary
Контекст атаки
Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.
Шаблоны атак (CAPEC)
- JSON Hijacking (aka JavaScript Hijacking)CAPEC-111вероятность: High · High
- Cache PoisoningCAPEC-141вероятность: High · High
- DNS Cache PoisoningCAPEC-142вероятность: High · High
- Content SpoofingCAPEC-148вероятность: Medium · Medium
- Spoofing of UDDI/ebXML MessagesCAPEC-218Medium
- Application API Message Manipulation via Man-in-the-MiddleCAPEC-384Low
- Transaction or Event Tampering via Application API ManipulationCAPEC-385Medium
- Application API Navigation RemappingCAPEC-386Medium
Журнал изменений
- Исправление✗ → ✓
Для отслеживаемых записей эти изменения приходят и как уведомления. →
Источники
Показать все источники (ещё 7)Свернуть
- docs.npmjs.com/cli/v8/commands/npm-ci
- github.com/icatalina/CVE-2021-43616
- github.com/npm/cli/commit/457e0ae61bbc55846f5af44afa4066921923490f
- github.com/npm/cli/issues/2701#issuecomment-972900511
- github.com/npm/cli/issues/2701#issuecomment-979054224
- lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/NXNVFKOF5ZYH5NIRWHKN6O6UBCHDV6FE/
- security.netapp.com/advisory/ntap-20211210-0002/
Рекомендации вендоров и официальные записи. Ссылки на эксплойты/PoC намеренно исключены.