CVE-2021-43616
Vulnerability from cvelistv5
Published
2021-11-13 00:00
Modified
2024-08-04 04:03
Severity ?
Summary
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.
References
cve@mitre.orghttps://docs.npmjs.com/cli/v7/commands/npm-ciProduct, Vendor Advisory
cve@mitre.orghttps://docs.npmjs.com/cli/v8/commands/npm-ci
cve@mitre.orghttps://github.com/icatalina/CVE-2021-43616Third Party Advisory
cve@mitre.orghttps://github.com/npm/cli/commit/457e0ae61bbc55846f5af44afa4066921923490fPatch, Third Party Advisory
cve@mitre.orghttps://github.com/npm/cli/issues/2701Exploit, Issue Tracking, Third Party Advisory
cve@mitre.orghttps://github.com/npm/cli/issues/2701#issuecomment-972900511
cve@mitre.orghttps://github.com/npm/cli/issues/2701#issuecomment-979054224
cve@mitre.orghttps://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/NXNVFKOF5ZYH5NIRWHKN6O6UBCHDV6FE/
cve@mitre.orghttps://medium.com/cider-sec/this-time-we-were-lucky-85c0dcac94a0Exploit, Third Party Advisory
cve@mitre.orghttps://security.netapp.com/advisory/ntap-20211210-0002/Third Party Advisory
af854a3a-2127-422b-91ae-364da2661108https://docs.npmjs.com/cli/v7/commands/npm-ciProduct, Vendor Advisory
af854a3a-2127-422b-91ae-364da2661108https://docs.npmjs.com/cli/v8/commands/npm-ci
af854a3a-2127-422b-91ae-364da2661108https://github.com/icatalina/CVE-2021-43616Third Party Advisory
af854a3a-2127-422b-91ae-364da2661108https://github.com/npm/cli/commit/457e0ae61bbc55846f5af44afa4066921923490fPatch, Third Party Advisory
af854a3a-2127-422b-91ae-364da2661108https://github.com/npm/cli/issues/2701Exploit, Issue Tracking, Third Party Advisory
af854a3a-2127-422b-91ae-364da2661108https://github.com/npm/cli/issues/2701#issuecomment-972900511
af854a3a-2127-422b-91ae-364da2661108https://github.com/npm/cli/issues/2701#issuecomment-979054224
af854a3a-2127-422b-91ae-364da2661108https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/NXNVFKOF5ZYH5NIRWHKN6O6UBCHDV6FE/
af854a3a-2127-422b-91ae-364da2661108https://medium.com/cider-sec/this-time-we-were-lucky-85c0dcac94a0Exploit, Third Party Advisory
af854a3a-2127-422b-91ae-364da2661108https://security.netapp.com/advisory/ntap-20211210-0002/Third Party Advisory
Impacted products
Vendor Product Version
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "providerMetadata": {
          "dateUpdated": "2024-08-04T04:03:08.795Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://github.com/npm/cli/issues/2701"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://docs.npmjs.com/cli/v7/commands/npm-ci"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://github.com/icatalina/CVE-2021-43616"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://medium.com/cider-sec/this-time-we-were-lucky-85c0dcac94a0"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://security.netapp.com/advisory/ntap-20211210-0002/"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://github.com/npm/cli/commit/457e0ae61bbc55846f5af44afa4066921923490f"
          },
          {
            "name": "FEDORA-2022-97b214b298",
            "tags": [
              "vendor-advisory",
              "x_transferred"
            ],
            "url": "https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/NXNVFKOF5ZYH5NIRWHKN6O6UBCHDV6FE/"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://docs.npmjs.com/cli/v8/commands/npm-ci"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://github.com/npm/cli/issues/2701#issuecomment-979054224"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://github.com/npm/cli/issues/2701#issuecomment-972900511"
          }
        ],
        "title": "CVE Program Container"
      }
    ],
    "cna": {
      "affected": [
        {
          "product": "n/a",
          "vendor": "n/a",
          "versions": [
            {
              "status": "affected",
              "version": "n/a"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "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."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "attackComplexity": "HIGH",
            "attackVector": "NETWORK",
            "availabilityImpact": "HIGH",
            "baseScore": 9,
            "baseSeverity": "CRITICAL",
            "confidentialityImpact": "HIGH",
            "integrityImpact": "HIGH",
            "privilegesRequired": "NONE",
            "scope": "CHANGED",
            "userInteraction": "NONE",
            "vectorString": "CVSS:3.1/AC:H/AV:N/A:H/C:H/I:H/PR:N/S:C/UI:N",
            "version": "3.1"
          }
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "description": "n/a",
              "lang": "en",
              "type": "text"
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2022-10-17T00:00:00",
        "orgId": "8254265b-2729-46b6-b9e3-3dfca2d5bfca",
        "shortName": "mitre"
      },
      "references": [
        {
          "url": "https://github.com/npm/cli/issues/2701"
        },
        {
          "url": "https://docs.npmjs.com/cli/v7/commands/npm-ci"
        },
        {
          "url": "https://github.com/icatalina/CVE-2021-43616"
        },
        {
          "url": "https://medium.com/cider-sec/this-time-we-were-lucky-85c0dcac94a0"
        },
        {
          "url": "https://security.netapp.com/advisory/ntap-20211210-0002/"
        },
        {
          "url": "https://github.com/npm/cli/commit/457e0ae61bbc55846f5af44afa4066921923490f"
        },
        {
          "name": "FEDORA-2022-97b214b298",
          "tags": [
            "vendor-advisory"
          ],
          "url": "https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/NXNVFKOF5ZYH5NIRWHKN6O6UBCHDV6FE/"
        },
        {
          "url": "https://docs.npmjs.com/cli/v8/commands/npm-ci"
        },
        {
          "url": "https://github.com/npm/cli/issues/2701#issuecomment-979054224"
        },
        {
          "url": "https://github.com/npm/cli/issues/2701#issuecomment-972900511"
        }
      ],
      "tags": [
        "disputed"
      ]
    }
  },
  "cveMetadata": {
    "assignerOrgId": "8254265b-2729-46b6-b9e3-3dfca2d5bfca",
    "assignerShortName": "mitre",
    "cveId": "CVE-2021-43616",
    "datePublished": "2021-11-13T00:00:00",
    "dateReserved": "2021-11-13T00:00:00",
    "dateUpdated": "2024-08-04T04:03:08.795Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2021-43616\",\"sourceIdentifier\":\"cve@mitre.org\",\"published\":\"2021-11-13T18:15:07.537\",\"lastModified\":\"2024-11-21T06:29:31.227\",\"vulnStatus\":\"Modified\",\"cveTags\":[{\"sourceIdentifier\":\"cve@mitre.org\",\"tags\":[\"disputed\"]}],\"descriptions\":[{\"lang\":\"en\",\"value\":\"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.\"},{\"lang\":\"es\",\"value\":\"** EN DISPUTA ** El comando npm ci en npm versiones 7.x y 8.x hasta 8.1.3, procede con una instalaci\u00f3n incluso si la informaci\u00f3n de dependencia en package-lock.json difiere de package.json. Este comportamiento es incoherente con la documentaci\u00f3n, y facilita a atacantes la instalaci\u00f3n de malware que se supone que ha sido bloqueado por un requisito de coincidencia de versi\u00f3n exacta en package-lock.json. NOTA: El equipo de npm cree que esto no es una vulnerabilidad. Requerir\u00eda que alguien hiciera ingenier\u00eda social de package.json que tiene diferentes dependencias que package-lock.json. Ese usuario tendr\u00eda que tener acceso al sistema de archivos o de escritura para cambiar las dependencias. El equipo de npm afirma que evitar que los actores maliciosos realicen ingenier\u00eda social u obtengan acceso al sistema de archivos est\u00e1 fuera del alcance de la CLI de npm\"}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"cve@mitre.org\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H\",\"baseScore\":9.0,\"baseSeverity\":\"CRITICAL\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"HIGH\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"NONE\",\"scope\":\"CHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":2.2,\"impactScore\":6.0},{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":9.8,\"baseSeverity\":\"CRITICAL\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":3.9,\"impactScore\":5.9}],\"cvssMetricV2\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"2.0\",\"vectorString\":\"AV:N/AC:L/Au:N/C:P/I:P/A:P\",\"baseScore\":7.5,\"accessVector\":\"NETWORK\",\"accessComplexity\":\"LOW\",\"authentication\":\"NONE\",\"confidentialityImpact\":\"PARTIAL\",\"integrityImpact\":\"PARTIAL\",\"availabilityImpact\":\"PARTIAL\"},\"baseSeverity\":\"HIGH\",\"exploitabilityScore\":10.0,\"impactScore\":6.4,\"acInsufInfo\":false,\"obtainAllPrivilege\":false,\"obtainUserPrivilege\":false,\"obtainOtherPrivilege\":false,\"userInteractionRequired\":false}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-345\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:npmjs:npm:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"7.0.0\",\"versionEndIncluding\":\"7.24.2\",\"matchCriteriaId\":\"F582C303-4B6A-4B12-9E0A-BEB12E1B93D1\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:npmjs:npm:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"8.0.0\",\"versionEndIncluding\":\"8.1.3\",\"matchCriteriaId\":\"DF29872C-4C3F-4DD4-ABEB-64246074752A\"}]}]},{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:netapp:next_generation_application_programming_interface:-:*:*:*:*:*:*:*\",\"matchCriteriaId\":\"444CE322-1245-4EEB-A5CA-9FCB011BF531\"}]}]},{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:fedoraproject:fedora:35:*:*:*:*:*:*:*\",\"matchCriteriaId\":\"80E516C0-98A4-4ADE-B69F-66A772E2BAAA\"}]}]}],\"references\":[{\"url\":\"https://docs.npmjs.com/cli/v7/commands/npm-ci\",\"source\":\"cve@mitre.org\",\"tags\":[\"Product\",\"Vendor Advisory\"]},{\"url\":\"https://docs.npmjs.com/cli/v8/commands/npm-ci\",\"source\":\"cve@mitre.org\"},{\"url\":\"https://github.com/icatalina/CVE-2021-43616\",\"source\":\"cve@mitre.org\",\"tags\":[\"Third Party Advisory\"]},{\"url\":\"https://github.com/npm/cli/commit/457e0ae61bbc55846f5af44afa4066921923490f\",\"source\":\"cve@mitre.org\",\"tags\":[\"Patch\",\"Third Party Advisory\"]},{\"url\":\"https://github.com/npm/cli/issues/2701\",\"source\":\"cve@mitre.org\",\"tags\":[\"Exploit\",\"Issue Tracking\",\"Third Party Advisory\"]},{\"url\":\"https://github.com/npm/cli/issues/2701#issuecomment-972900511\",\"source\":\"cve@mitre.org\"},{\"url\":\"https://github.com/npm/cli/issues/2701#issuecomment-979054224\",\"source\":\"cve@mitre.org\"},{\"url\":\"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/NXNVFKOF5ZYH5NIRWHKN6O6UBCHDV6FE/\",\"source\":\"cve@mitre.org\"},{\"url\":\"https://medium.com/cider-sec/this-time-we-were-lucky-85c0dcac94a0\",\"source\":\"cve@mitre.org\",\"tags\":[\"Exploit\",\"Third Party Advisory\"]},{\"url\":\"https://security.netapp.com/advisory/ntap-20211210-0002/\",\"source\":\"cve@mitre.org\",\"tags\":[\"Third Party Advisory\"]},{\"url\":\"https://docs.npmjs.com/cli/v7/commands/npm-ci\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Product\",\"Vendor Advisory\"]},{\"url\":\"https://docs.npmjs.com/cli/v8/commands/npm-ci\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"},{\"url\":\"https://github.com/icatalina/CVE-2021-43616\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Third Party Advisory\"]},{\"url\":\"https://github.com/npm/cli/commit/457e0ae61bbc55846f5af44afa4066921923490f\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\",\"Third Party Advisory\"]},{\"url\":\"https://github.com/npm/cli/issues/2701\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Exploit\",\"Issue Tracking\",\"Third Party Advisory\"]},{\"url\":\"https://github.com/npm/cli/issues/2701#issuecomment-972900511\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"},{\"url\":\"https://github.com/npm/cli/issues/2701#issuecomment-979054224\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"},{\"url\":\"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/NXNVFKOF5ZYH5NIRWHKN6O6UBCHDV6FE/\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"},{\"url\":\"https://medium.com/cider-sec/this-time-we-were-lucky-85c0dcac94a0\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Exploit\",\"Third Party Advisory\"]},{\"url\":\"https://security.netapp.com/advisory/ntap-20211210-0002/\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Third Party Advisory\"]}]}}"
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.