-
-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore(): update pnpm to v9.15.0 [security] #1437
base: dev
Are you sure you want to change the base?
Conversation
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
Important Review skippedBot user detected. To trigger a single review, invoke the You can disable this status message by setting the 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
Quality Gate passedIssues Measures |
#1876 Bundle Size — 5.64MiB (0%).6750125(current) vs 6822567 dev#1689(baseline) Warning Bundle contains 5 duplicate packages – View duplicate packages Bundle metrics
|
Current #1876 |
Baseline #1689 |
|
---|---|---|
Initial JS | 3.05MiB |
3.05MiB |
Initial CSS | 9.7KiB |
9.7KiB |
Cache Invalidation | 28.34% |
30.48% |
Chunks | 67 |
67 |
Assets | 80 |
80 |
Modules | 2016 |
2016 |
Duplicate Modules | 361 |
361 |
Duplicate Code | 10% |
10% |
Packages | 159 |
159 |
Duplicate Packages | 5 |
5 |
Bundle size by type no changes
Current #1876 |
Baseline #1689 |
|
---|---|---|
JS | 4.4MiB |
4.4MiB |
Other | 1.13MiB |
1.13MiB |
Fonts | 94.54KiB |
94.54KiB |
CSS | 9.7KiB |
9.7KiB |
IMG | 8.57KiB |
8.57KiB |
Bundle analysis report Branch renovate/npm-pnpm-vulnerability Project dashboard
Generated by RelativeCI Documentation Report issue
📦 Next.js Bundle Analysis for @weareinreach/appThis analysis was generated by the Next.js Bundle Analysis action. 🤖 This PR introduced no changes to the JavaScript bundle! 🙌 |
This PR contains the following updates:
9.12.2
->9.15.0
^9.0.0
->^9.15.0
pnpm no-script global cache poisoning via overrides /
ignore-scripts
evasionCVE-2024-53866 / GHSA-vm32-9rqf-rh3r
More information
Details
Summary
pnpm seems to mishandle overrides and global cache:
This can make workspace A (even running with
ignore-scripts=true
) posion global cache and execute scripts in workspace BUsers generally expect
ignore-scripts
to be sufficient to prevent immediate code execution on install (e.g. when the tree is just repacked/bundled without executing it).Here, that expectation is broken
Details
See PoC.
In it, overrides from a single run of A get leaked into e.g.
~/Library/Caches/pnpm/metadata/registry.npmjs.org/rimraf.json
and persistently affect all other projects using the cachePoC
Postinstall code used in PoC is benign and can be inspected in https://www.npmjs.com/package/ponyhooves?activeTab=code, it's just a
console.log
On mac:
rm -rf ~/Library/Caches/pnpm ~/Library/pnpm/store
This step is not required in general, but we'll be using a popular package for PoC that's likely cached
A/package.json
:pnpm i --ignore-scripts
(the flag is not required, but the point of the demo is to show that it doesn't help)B/package.json
:pnpm i
Result:
Also, that code got leaked into another project and it's lockfile now!
Impact
Global state integrity is lost via operations that one would expect to be secure, enabling subsequently running arbitrary code execution on installs
As a work-around, use separate cache and store dirs in each workspace
Severity
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:N/VI:L/VA:N/SC:H/SI:H/SA:H
References
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Release Notes
pnpm/pnpm (pnpm)
v9.15.0
Compare Source
v9.14.4
Compare Source
v9.14.3
Compare Source
v9.14.2
Compare Source
Patch Changes
pnpm publish --json
should work #8788.Platinum Sponsors
Gold Sponsors
v9.14.1
Compare Source
Minor Changes
pnpm pack --json
to print packed tarball and contents in JSON format #8765.Patch Changes
pnpm exec
should print a meaningful error message when no command is provided #8752.pnpm setup
should remove the CLI from the target location before moving the new binary #8173.ERR_PNPM_TARBALL_EXTRACT
error while installing a dependency from GitHub having a slash in branch name #7697.use-node-version
setting is used and the system has no Node.js installed #8769..npmrc
files to their correct types. For instance,child-concurrency
should be a number, not a string #5075.manage-package-manager-versions
is set totrue
.pnpm init
should respect the--dir
option #8768.Platinum Sponsors
Gold Sponsors
v9.14.0
Compare Source
v9.13.2
: pnpm 9.13.2Compare Source
Patch Changes
dlx
processes.Platinum Sponsors
Gold Sponsors
Silver Sponsors
v9.13.1
: pnpm 9.13.1Compare Source
Patch Changes
Platinum Sponsors
Gold Sponsors
Silver Sponsors
v9.13.0
: pnpm 9.13Compare Source
Minor Changes
The
self-update
now accepts a version specifier to install a specific version of pnpm. E.g.:or
Patch Changes
Cannot read properties of undefined (reading 'name')
that is printed while trying to render the missing peer dependencies warning message #8538.Platinum Sponsors
Gold Sponsors
Silver Sponsors
v9.12.3
Compare Source
Patch Changes
node_modules
, when typing "n" in the prompt that asks whether to removenode_modules
before installation #8655.manage-package-manager-versions=true
is set and the.tools
directory is corrupt.crypto.hash
, when available, for improved performance #8629.package.json
at the root of the workspace #8667.manage-package-manager-versions
is set totrue
, errors spawning a self-managed version ofpnpm
will now be shown (instead of being silent).Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.