ghsa-hj9c-8jmm-8c52
Vulnerability from github
Published
2022-06-02 15:37
Modified
2022-06-29 21:50
Severity ?
Summary
Packing does not respect root-level ignore files in workspaces
Details
Impact
npm pack
ignores root-level .gitignore
& .npmignore
file exclusion directives when run in a workspace or with a workspace flag (ie. --workspaces
, --workspace=<name>
). Anyone who has run npm pack
or npm publish
with workspaces, as of v7.9.0 & v7.13.0 respectively, may be affected and have published files into the npm registry they did not intend to include.
Patch
- Upgrade to the latest, patched version of
npm
(v8.11.0
or greater), run:npm i -g npm@latest
- Node.js versions
v16.15.1
,v17.19.1
&v18.3.0
include the patchedv8.11.0
version ofnpm
Steps to take to see if you're impacted
- Run
npm publish --dry-run
ornpm pack
with annpm
version>=7.9.0
&<8.11.0
inside the project's root directory using a workspace flag like:--workspaces
or--workspace=<name>
(ex.npm pack --workspace=foo
) - Check the output in your terminal which will list the package contents (note:
tar -tvf <package-on-disk>
also works) - If you find that there are files included you did not expect, you should:
3.1. Create & publish a new release excluding those files (ref. "Keeping files out of your Package")
3.2. Deprecate the old package (ex.
npm deprecate <pkg>[@<version>] <message>
) 3.3. Revoke or rotate any sensitive information (ex. passwords, tokens, secrets etc.) which might have been exposed
References
{ "affected": [ { "package": { "ecosystem": "npm", "name": "npm" }, "ranges": [ { "events": [ { "introduced": "7.9.0" }, { "fixed": "8.11.0" } ], "type": "ECOSYSTEM" } ] } ], "aliases": [ "CVE-2022-29244" ], "database_specific": { "cwe_ids": [ "CWE-200" ], "github_reviewed": true, "github_reviewed_at": "2022-06-02T15:37:27Z", "nvd_published_at": "2022-06-13T14:15:00Z", "severity": "HIGH" }, "details": "### Impact\n`npm pack` ignores root-level `.gitignore` \u0026 `.npmignore` file exclusion directives when run in a workspace or with a workspace flag (ie. `--workspaces`, `--workspace=\u003cname\u003e`). Anyone who has run `npm pack` or `npm publish` with workspaces, as of [v7.9.0](https://github.com/npm/cli/releases/tag/v7.9.0) \u0026 [v7.13.0](https://github.com/npm/cli/releases/tag/v7.13.0) respectively, may be affected and have published files into the npm registry they did not intend to include.\n\n### Patch\n- Upgrade to the latest, patched version of `npm` ([`v8.11.0`](https://github.com/npm/cli/releases/tag/v8.11.0) or greater), run: `npm i -g npm@latest`\n- Node.js versions [`v16.15.1`](https://github.com/nodejs/node/releases/tag/v16.15.1), [`v17.19.1`](https://github.com/nodejs/node/releases/tag/v17.9.1) \u0026 [`v18.3.0`](https://github.com/nodejs/node/releases/tag/v18.3.0) include the patched `v8.11.0` version of `npm`\n\n#### Steps to take to see if you\u0027re impacted\n1. Run `npm publish --dry-run` or `npm pack` with an `npm` version `\u003e=7.9.0` \u0026 `\u003c8.11.0` inside the project\u0027s root directory using a workspace flag like: `--workspaces` or `--workspace=\u003cname\u003e` (ex. `npm pack --workspace=foo`)\n2. Check the output in your terminal which will list the package contents (note: `tar -tvf \u003cpackage-on-disk\u003e` also works)\n3. If you find that there are files included you did not expect, you should:\n 3.1. Create \u0026 publish a new release excluding those files (ref. [\"Keeping files out of your Package\"](https://docs.npmjs.com/cli/v8/using-npm/developers#keeping-files-out-of-your-package))\n 3.2. Deprecate the old package (ex. `npm deprecate \u003cpkg\u003e[@\u003cversion\u003e] \u003cmessage\u003e`)\n 3.3. Revoke or rotate any sensitive information (ex. passwords, tokens, secrets etc.) which might have been exposed\n### References\n- [CVE-2022-29244](https://nvd.nist.gov/vuln/detail/CVE-2022-29244)\n- [`npm-packlist`](https://github.com/npm/npm-packlist)\n- [`libnpmpack`](https://github.com/npm/cli/tree/latest/workspaces/libnpmpack)\n- [`libnpmpublish`](https://github.com/npm/cli/tree/latest/workspaces/libnpmpublish)", "id": "GHSA-hj9c-8jmm-8c52", "modified": "2022-06-29T21:50:23Z", "published": "2022-06-02T15:37:27Z", "references": [ { "type": "WEB", "url": "https://github.com/npm/cli/security/advisories/GHSA-hj9c-8jmm-8c52" }, { "type": "ADVISORY", "url": "https://nvd.nist.gov/vuln/detail/CVE-2022-29244" }, { "type": "WEB", "url": "https://github.com/nodejs/node/pull/43210" }, { "type": "WEB", "url": "https://github.com/nodejs/node/releases/tag/v16.15.1" }, { "type": "WEB", "url": "https://github.com/nodejs/node/releases/tag/v17.9.1" }, { "type": "WEB", "url": "https://github.com/nodejs/node/releases/tag/v18.3.0" }, { "type": "WEB", "url": "https://github.com/npm/cli" }, { "type": "WEB", "url": "https://github.com/npm/cli/releases/tag/v8.11.0" }, { "type": "WEB", "url": "https://github.com/npm/cli/tree/latest/workspaces/libnpmpack" }, { "type": "WEB", "url": "https://github.com/npm/cli/tree/latest/workspaces/libnpmpublish" }, { "type": "WEB", "url": "https://github.com/npm/npm-packlist" }, { "type": "WEB", "url": "https://security.netapp.com/advisory/ntap-20220722-0007" } ], "schema_version": "1.4.0", "severity": [ { "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N", "type": "CVSS_V3" } ], "summary": "Packing does not respect root-level ignore files in workspaces" }
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.