CVE-2022-29244 – npm packing does not respect root-level ignore files in workspaces
https://notcve.org/view.php?id=CVE-2022-29244
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. npm pack ignora las directivas de exclusión de archivos .gitignore y .npmignore a nivel de root cuando es ejecutado en un espacio de trabajo o con un flag de espacio de trabajo (es decir, "--workspaces", "--workspace=(name)"). • https://github.com/nodejs/node/pull/43210 https://github.com/nodejs/node/releases/tag/v16.15.1 https://github.com/nodejs/node/releases/tag/v17.9.1 https://github.com/nodejs/node/releases/tag/v18.3.0 https://github.com/npm/cli/releases/tag/v8.11.0 https://github.com/npm/cli/security/advisories/GHSA-hj9c-8jmm-8c52 https://github.com/npm/cli/tree/latest/workspaces/libnpmpack https://github.com/npm/cli/tree/latest/workspaces/libnpmpublish https://github.com • CWE-200: Exposure of Sensitive Information to an Unauthorized Actor CWE-212: Improper Removal of Sensitive Information Before Storage or Transfer •
CVE-2021-43616 – npm: npm ci succeeds when package-lock.json doesn't match package.json
https://notcve.org/view.php?id=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 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. • https://github.com/icatalina/CVE-2021-43616 https://docs.npmjs.com/cli/v7/commands/npm-ci https://docs.npmjs.com/cli/v8/commands/npm-ci 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://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/NXNVFKOF5ZYH5NIRWHKN6O6UBCHDV6FE https • CWE-345: Insufficient Verification of Data Authenticity •
CVE-2021-39135 – UNIX Symbolic Link (Symlink) Following in @npmcli/arborist
https://notcve.org/view.php?id=CVE-2021-39135
`@npmcli/arborist`, the library that calculates dependency trees and manages the node_modules folder hierarchy for the npm command line interface, aims to guarantee that package dependency contracts will be met, and the extraction of package contents will always be performed into the expected folder. This is accomplished by extracting package contents into a project's `node_modules` folder. If the `node_modules` folder of the root project or any of its dependencies is somehow replaced with a symbolic link, it could allow Arborist to write package dependencies to any arbitrary location on the file system. Note that symbolic links contained within package artifact contents are filtered out, so another means of creating a `node_modules` symbolic link would have to be employed. 1. A `preinstall` script could replace `node_modules` with a symlink. • https://cert-portal.siemens.com/productcert/pdf/ssa-389290.pdf https://github.com/npm/arborist/security/advisories/GHSA-gmw6-94gg-2rc2 https://www.npmjs.com/package/%40npmcli/arborist https://www.oracle.com/security-alerts/cpuoct2021.html • CWE-59: Improper Link Resolution Before File Access ('Link Following') CWE-61: UNIX Symbolic Link (Symlink) Following •
CVE-2021-39134 – UNIX Symbolic Link (Symlink) Following in @npmcli/arborist
https://notcve.org/view.php?id=CVE-2021-39134
`@npmcli/arborist`, the library that calculates dependency trees and manages the `node_modules` folder hierarchy for the npm command line interface, aims to guarantee that package dependency contracts will be met, and the extraction of package contents will always be performed into the expected folder. This is, in part, accomplished by resolving dependency specifiers defined in `package.json` manifests for dependencies with a specific name, and nesting folders to resolve conflicting dependencies. When multiple dependencies differ only in the case of their name, Arborist's internal data structure saw them as separate items that could coexist within the same level in the `node_modules` hierarchy. However, on case-insensitive file systems (such as macOS and Windows), this is not the case. Combined with a symlink dependency such as `file:/some/path`, this allowed an attacker to create a situation in which arbitrary contents could be written to any location on the filesystem. • https://cert-portal.siemens.com/productcert/pdf/ssa-389290.pdf https://github.com/npm/arborist/security/advisories/GHSA-2h3h-q99f-3fhc https://www.npmjs.com/package/%40npmcli/arborist https://www.oracle.com/security-alerts/cpuoct2021.html • CWE-61: UNIX Symbolic Link (Symlink) Following CWE-178: Improper Handling of Case Sensitivity •
CVE-2020-7754 – Regular Expression Denial of Service (ReDoS)
https://notcve.org/view.php?id=CVE-2020-7754
This affects the package npm-user-validate before 1.0.1. The regex that validates user emails took exponentially longer to process long input strings beginning with @ characters. Esto afecta al paquete npm-user-validate versiones anteriores a 1.0.1. La expresión regular que comprueba los correos electrónicos de los usuarios tardó exponencialmente más en procesar cadenas de entrada largas que comienzan con caracteres @ • https://github.com/npm/npm-user-validate/commit/c8a87dac1a4cc6988b5418f30411a8669bef204e https://github.com/npm/npm-user-validate/security/advisories/GHSA-xgh6-85xh-479p https://snyk.io/vuln/SNYK-JAVA-ORGWEBJARSNPM-1019353 https://snyk.io/vuln/SNYK-JS-NPMUSERVALIDATE-1019352 https://access.redhat.com/security/cve/CVE-2020-7754 https://bugzilla.redhat.com/show_bug.cgi?id=1892430 • CWE-400: Uncontrolled Resource Consumption •