CVE-2021-43616
npm: npm ci succeeds when package-lock.json doesn't match package.json
Sévérité par source
Le label propre à Trivy est CRITICAL. Critique selon NVD. Plus basse selon Red Hat (élevée), AlmaLinux (élevée), Amazon (élevée), Oracle (élevée), Rocky Linux (élevée), Ubuntu (moyenne).
Description
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.
Paquets affectés et versions corrigées
| Source | Paquet | Corrigé en |
|---|---|---|
| alma 8 | nodejs:16::nodejs, nodejs:16::nodejs-devel, nodejs:16::nodejs-docs et 4 autres | 1:16.14.0-4.module_el8.6.0+2904+f21ad6f4 et 3 autres |
| alpine 3.16 | npm | 8.1.4-r0 |
| alpine 3.17 | npm | 8.1.4-r0 |
| alpine 3.18 | npm | 8.1.4-r0 |
| alpine 3.19 | npm | 8.1.4-r0 |
| alpine 3.20 | npm | 8.1.4-r0 |
| alpine 3.21 | npm | 8.1.4-r0 |
| alpine 3.22 | npm | 8.1.4-r0 |
| alpine 3.23 | npm | 8.1.4-r0 |
| alpine 3.24 | npm | 8.1.4-r0 |
| alpine edge | npm | 8.1.4-r0 |
| amazon linux 2022 | nodejs, nodejs-debuginfo, nodejs-debugsource et 7 autres | 1:18.4.0-1.amzn2022.0.2 et 2 autres |
Afficher les 70 entrées de 29 sources
| Source | Paquet | Corrigé en |
|---|---|---|
| alma 8 | nodejs:16::nodejs | 1:16.14.0-4.module_el8.6.0+2904+f21ad6f4 |
| alma 8 | nodejs:16::nodejs-devel | 1:16.14.0-4.module_el8.6.0+2904+f21ad6f4 |
| alma 8 | nodejs:16::nodejs-docs | 1:16.14.0-4.module_el8.6.0+2904+f21ad6f4 |
| alma 8 | nodejs:16::nodejs-full-i18n | 1:16.14.0-4.module_el8.6.0+2904+f21ad6f4 |
| alma 8 | nodejs:16::nodejs-nodemon | 2.0.15-1.module_el8.5.0+2605+45d748af |
| alma 8 | nodejs:16::nodejs-packaging | 25-1.module_el8.5.0+246+05401605 |
| alma 8 | nodejs:16::npm | 1:8.3.1-1.16.14.0.4.module_el8.6.0+2904+f21ad6f4 |
| alpine 3.16 | npm | 8.1.4-r0 |
| alpine 3.17 | npm | 8.1.4-r0 |
| alpine 3.18 | npm | 8.1.4-r0 |
| alpine 3.19 | npm | 8.1.4-r0 |
| alpine 3.20 | npm | 8.1.4-r0 |
| alpine 3.21 | npm | 8.1.4-r0 |
| alpine 3.22 | npm | 8.1.4-r0 |
| alpine 3.23 | npm | 8.1.4-r0 |
| alpine 3.24 | npm | 8.1.4-r0 |
| alpine edge | npm | 8.1.4-r0 |
| amazon linux 2022 | nodejs | 1:18.4.0-1.amzn2022.0.2 |
| amazon linux 2022 | nodejs-debuginfo | 1:18.4.0-1.amzn2022.0.2 |
| amazon linux 2022 | nodejs-debugsource | 1:18.4.0-1.amzn2022.0.2 |
| amazon linux 2022 | nodejs-devel | 1:18.4.0-1.amzn2022.0.2 |
| amazon linux 2022 | nodejs-docs | 1:18.4.0-1.amzn2022.0.2 |
| amazon linux 2022 | nodejs-full-i18n | 1:18.4.0-1.amzn2022.0.2 |
| amazon linux 2022 | nodejs-libs | 1:18.4.0-1.amzn2022.0.2 |
| amazon linux 2022 | nodejs-libs-debuginfo | 1:18.4.0-1.amzn2022.0.2 |
| amazon linux 2022 | npm | 1:8.12.1-1.18.4.0.1.amzn2022.0.2 |
| amazon linux 2022 | v8-devel | 2:10.2.154.4-1.18.4.0.1.amzn2022.0.2 |
| amazon linux 2023 | nodejs | 1:18.12.1-1.amzn2023.0.2 |
| amazon linux 2023 | nodejs-debuginfo | 1:18.12.1-1.amzn2023.0.2 |
| amazon linux 2023 | nodejs-debugsource | 1:18.12.1-1.amzn2023.0.2 |
| amazon linux 2023 | nodejs-devel | 1:18.12.1-1.amzn2023.0.2 |
| amazon linux 2023 | nodejs-docs | 1:18.12.1-1.amzn2023.0.2 |
| amazon linux 2023 | nodejs-full-i18n | 1:18.12.1-1.amzn2023.0.2 |
| amazon linux 2023 | nodejs-libs | 1:18.12.1-1.amzn2023.0.2 |
| amazon linux 2023 | nodejs-libs-debuginfo | 1:18.12.1-1.amzn2023.0.2 |
| amazon linux 2023 | npm | 1:8.19.2-1.18.12.1.1.amzn2023.0.2 |
| amazon linux 2023 | v8-devel | 2:10.2.154.15-1.18.12.1.1.amzn2023.0.2 |
| debian 10 | npm | pas de correctif indiqué |
| debian 11 | npm | pas de correctif indiqué |
| debian 12 | npm | 8.4.1~ds-1 |
| debian 13 | npm | 8.4.1~ds-1 |
| debian 14 | npm | 8.4.1~ds-1 |
| echo | npm | 8.4.1~ds-1 |
| Oracle Linux 8 | nodejs | 1:16.14.0-4.module+el8.6.0+20672+19f3909b |
| Oracle Linux 8 | nodejs-devel | 1:16.14.0-4.module+el8.6.0+20672+19f3909b |
| Oracle Linux 8 | nodejs-docs | 1:16.14.0-4.module+el8.6.0+20672+19f3909b |
| Oracle Linux 8 | nodejs-full-i18n | 1:16.14.0-4.module+el8.6.0+20672+19f3909b |
| Oracle Linux 8 | nodejs-nodemon | 2.0.15-1.module+el8.6.0+20672+19f3909b |
| Oracle Linux 8 | nodejs-packaging | 25-1.module+el8.5.0+20388+4b61e68d |
| Oracle Linux 8 | npm | 1:8.3.1-1.16.14.0.4.module+el8.6.0+20672+19f3909b |
| rapidfort amazon linux 2023 | nodejs | 1:18.12.1-1.amzn2023.0.2 |
| rapidfort ubuntu 20.04 | npm | pas de correctif indiqué |
| rapidfort ubuntu 22.04 | npm | pas de correctif indiqué |
| rapidfort ubuntu 24.04 | npm | pas de correctif indiqué |
| rocky 8 | nodejs | 1:16.14.0-4.module+el8.6.0+978+59f26232 |
| rocky 8 | nodejs-devel | 1:16.14.0-4.module+el8.6.0+978+59f26232 |
| rocky 8 | nodejs-docs | 1:16.14.0-4.module+el8.6.0+978+59f26232 |
| rocky 8 | nodejs-full-i18n | 1:16.14.0-4.module+el8.6.0+978+59f26232 |
| rocky 8 | nodejs:16::nodejs | 1:16.14.0-4.module+el8.6.0+978+59f26232 |
| rocky 8 | nodejs:16::nodejs-devel | 1:16.14.0-4.module+el8.6.0+978+59f26232 |
| rocky 8 | nodejs:16::nodejs-docs | 1:16.14.0-4.module+el8.6.0+978+59f26232 |
| rocky 8 | nodejs:16::nodejs-full-i18n | 1:16.14.0-4.module+el8.6.0+978+59f26232 |
| rocky 8 | nodejs:16::nodejs-nodemon | 2.0.15-1.module+el8.5.0+721+4c107270 |
| rocky 8 | nodejs:16::nodejs-packaging | 25-1.module+el8.6.0+1046+80feca58 |
| rocky 8 | nodejs:16::npm | 1:8.3.1-1.16.14.0.4.module+el8.6.0+978+59f26232 |
| rocky 8 | npm | 1:8.3.1-1.16.14.0.4.module+el8.6.0+978+59f26232 |
| ubuntu 22.04 | npm | pas de correctif indiqué |
| ubuntu 24.04 | npm | pas de correctif indiqué |
| ubuntu 26.04 | npm | pas de correctif indiqué |
| ubuntu 26.10 | npm | pas de correctif indiqué |
Références
- https://access.redhat.com/security/cve/CVE-2021-43616
- https://bugzilla.redhat.com/show_bug.cgi?id=2050282
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-43616
- https://docs.npmjs.com/cli/v7/commands/npm-ci
- https://docs.npmjs.com/cli/v8/commands/npm-ci
- https://errata.almalinux.org/8/ALSA-2022-4796.html
- https://errata.rockylinux.org/RLSA-2022:4796
- https://github.com/icatalina/CVE-2021-43616
Les 19 références
- https://github.com/npm/cli/commit/457e0ae61bbc55846f5af44afa4066921923490f
- https://github.com/npm/cli/issues/2701
- https://github.com/npm/cli/issues/2701#issuecomment-972900511
- https://github.com/npm/cli/issues/2701#issuecomment-979054224
- https://linux.oracle.com/cve/CVE-2021-43616.html
- https://linux.oracle.com/errata/ELSA-2022-4796.html
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/NXNVFKOF5ZYH5NIRWHKN6O6UBCHDV6FE/
- https://medium.com/cider-sec/this-time-we-were-lucky-85c0dcac94a0
- https://nvd.nist.gov/vuln/detail/CVE-2021-43616
- https://security.netapp.com/advisory/ntap-20211210-0002/
- https://www.cve.org/CVERecord?id=CVE-2021-43616