Skip to main content

CVE-2022-29244: CWE-200 Information Exposure in npm npm

High
Published: Mon Jun 13 2022 (06/13/2022, 13:40:27 UTC)
Source: CVE
Vendor/Project: npm
Product: npm

Description

npm pack ignores root-level .gitignore and .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` inside a workspace, as of v7.9.0 and v7.13.0 respectively, may be affected and have published files into the npm registry they did not intend to include. Users should upgrade to the latest, patched version of npm v8.11.0, run: npm i -g npm@latest . Node.js versions v16.15.1, v17.19.1, and v18.3.0 include the patched v8.11.0 version of npm.

AI-Powered Analysis

AILast updated: 06/21/2025, 22:56:19 UTC

Technical Analysis

CVE-2022-29244 is a high-severity information exposure vulnerability affecting the npm package manager, specifically versions starting from 7.9.0 up to but not including the patched 8.11.0 release. The issue arises because the npm 'pack' command, when executed within a workspace or with workspace flags (such as --workspaces or --workspace=<name>), fails to respect root-level .gitignore and .npmignore exclusion directives. This means that files intended to be excluded from packaging and publishing can inadvertently be included in the npm package and subsequently published to the public npm registry. This behavior compromises confidentiality by exposing potentially sensitive files that developers did not intend to share publicly. The vulnerability affects users who have run 'npm pack' or 'npm publish' inside a workspace environment using the affected npm versions. Node.js versions 16.15.1, 17.19.1, and 18.3.0 include the patched npm version 8.11.0, mitigating this issue. The CVSS v3.1 score of 7.5 reflects a network-exploitable vulnerability with no privileges or user interaction required, resulting in high confidentiality impact but no integrity or availability impact. No known exploits have been reported in the wild to date. The root cause is a failure to correctly apply ignore rules in workspace contexts, leading to unintended file disclosure through published packages. This vulnerability is classified under CWE-200 (Information Exposure).

Potential Impact

For European organizations, this vulnerability poses a significant risk of accidental leakage of sensitive or proprietary information through npm packages published from workspace environments. Organizations relying on npm for JavaScript development, especially those using monorepos or workspaces, may inadvertently expose internal configuration files, credentials, API keys, or other confidential data if these files were excluded via .gitignore or .npmignore but still included due to the vulnerability. Such exposure can lead to intellectual property theft, reputational damage, and increased attack surface for follow-on attacks. Since npm is widely used across Europe in both commercial and open-source projects, the scope of potential impact is broad. The vulnerability does not affect integrity or availability directly but compromises confidentiality, which can have downstream effects on trust and compliance with data protection regulations such as GDPR. The ease of exploitation is high since no authentication or user interaction is required beyond running npm commands in affected versions. Although no active exploits are known, the risk of accidental exposure remains until patched versions are adopted.

Mitigation Recommendations

Upgrade npm to version 8.11.0 or later immediately. This can be done by running 'npm i -g npm@latest' or updating Node.js to versions 16.15.1, 17.19.1, or 18.3.0 which bundle the patched npm. Audit all packages published from workspace environments since version 7.9.0 for unintended file inclusions, especially sensitive files that should have been excluded by .gitignore or .npmignore. Implement strict code review and package content verification processes before publishing to npm, including automated scanning of package contents for sensitive data. Consider using npm’s 'files' field in package.json to explicitly whitelist files to include, reducing reliance on ignore files that may be misapplied. For organizations using CI/CD pipelines to publish npm packages, update pipeline configurations to use patched npm versions and add checks to detect unexpected files in packages. Educate developers about the risks of publishing from workspace contexts and encourage use of updated tooling. If sensitive data was exposed, conduct a thorough incident response and consider rotating any exposed credentials or secrets.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
GitHub_M
Date Reserved
2022-04-13T00:00:00.000Z
Cisa Enriched
true

Threat ID: 682d9846c4522896dcbf4cf1

Added to database: 5/21/2025, 9:09:26 AM

Last enriched: 6/21/2025, 10:56:19 PM

Last updated: 8/15/2025, 2:30:11 AM

Views: 18

Actions

PRO

Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.

Please log in to the Console to use AI analysis features.

Need enhanced features?

Contact root@offseq.com for Pro access with improved analysis and higher rate limits.

Latest Threats