You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Resolves the four high-severity vulnerabilities reported by pnpm audit --prod (via .github/workflows/audit-dependencies.sh high). The audit now exits clean.
Key Changes
Bump undici to 7.28.0 in packages/payload
Direct bump within the same major. Fixes GHSA-vmh5-mc38-953g / CVE-2026-9697 (ProxyAgent drops requestTls for SOCKS5 proxies, allowing a TLS validation bypass).
Bump nodemailer to ^9.0.1 in email-nodemailer and payload-cloud
Direct bump across the 8 to 9 major. Both workspace packages depended on ^8.0.5. Fixes GHSA-p6gq-j5cr-w38f (the message-level raw option bypassed disableFileAccess/disableUrlAccess). The only v9 behavior change is stricter default TLS validation on remote-content fetches, which does not affect the adapters' SMTP/sendMail path.
Override effect to ^3.20.0
Global override. The vulnerable effect@3.10.3 is pinned by uploadthing and @uploadthing/shared; no published uploadthing version resolves to a fixed effect. Fixes GHSA-38f7-945m-qr2g / CVE-2026-32887 (AsyncLocalStorage context leaks across fibers, exposing one request's context to another).
Override @types/request>form-data to ^2.5.6
Parent-scoped override. The transitive form-data@2.5.5 reached the prod tree through @google-cloud/storage > retry-request > @types/request. Fixes GHSA-hmw2-7cc7-3qxx / CVE-2026-12143 (multipart CRLF injection via unescaped field names).
Design Decisions
Fixes follow the order direct bump > lockfile update > override.
undici and nodemailer are direct dependencies, so they were bumped in place; nodemailer required touching both workspaces that declared it.
effect and form-data are transitive and pinned by parents that no available version fixes, so overrides were the only option. effect uses a global override because it appears through two parents (uploadthing directly and via @uploadthing/shared) and pnpm override scoping is single-level only; effect is on major 3 everywhere in the tree, so the global override carries no major-version-straddling risk. form-data uses a parent-scoped override instead, because the package spans majors in this tree (the root devDependency is on 3.x) and a global override would have downgraded that unrelated consumer.
Next steps: Take a moment to review the security alert above. Review
the linked package source code to understand the potential risk. Ensure the
package is not malicious before proceeding. If you're unsure how to proceed,
reach out to your security team or ask the Socket team for help at
support@socket.dev.
Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.
Mark the package as acceptable risk. To ignore this alert only
in this pull request, reply with the comment
@SocketSecurity ignore npm/effect@3.21.3. You can
also ignore all packages with @SocketSecurity ignore-all.
To ignore an alert for all future pull requests, use Socket's Dashboard to
change the triage state of this alert.
Next to the size is how much the size has increased or decreased compared with the base branch of this PR.
‼️: Size increased by 20% or more. Special attention should be given to this.
⚠️: Size increased in acceptable range (lower than 20%).
✅: No change or even downsized.
🗑️: The out file is deleted: not found in base branch.
🆕: The out file is newly found: will be added to base branch.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
Resolves the four high-severity vulnerabilities reported by
pnpm audit --prod(via.github/workflows/audit-dependencies.sh high). The audit now exits clean.Key Changes
Bump
undicito 7.28.0 inpackages/payloadDirect bump within the same major. Fixes GHSA-vmh5-mc38-953g / CVE-2026-9697 (
ProxyAgentdropsrequestTlsfor SOCKS5 proxies, allowing a TLS validation bypass).Bump
nodemailerto ^9.0.1 inemail-nodemailerandpayload-cloudDirect bump across the 8 to 9 major. Both workspace packages depended on
^8.0.5. Fixes GHSA-p6gq-j5cr-w38f (the message-levelrawoption bypasseddisableFileAccess/disableUrlAccess). The only v9 behavior change is stricter default TLS validation on remote-content fetches, which does not affect the adapters' SMTP/sendMailpath.Override
effectto ^3.20.0Global override. The vulnerable
effect@3.10.3is pinned byuploadthingand@uploadthing/shared; no publisheduploadthingversion resolves to a fixedeffect. Fixes GHSA-38f7-945m-qr2g / CVE-2026-32887 (AsyncLocalStoragecontext leaks across fibers, exposing one request's context to another).Override
@types/request>form-datato ^2.5.6Parent-scoped override. The transitive
form-data@2.5.5reached the prod tree through@google-cloud/storage > retry-request > @types/request. Fixes GHSA-hmw2-7cc7-3qxx / CVE-2026-12143 (multipart CRLF injection via unescaped field names).Design Decisions
Fixes follow the order direct bump > lockfile update > override.
undiciandnodemailerare direct dependencies, so they were bumped in place;nodemailerrequired touching both workspaces that declared it.effectandform-dataare transitive and pinned by parents that no available version fixes, so overrides were the only option.effectuses a global override because it appears through two parents (uploadthingdirectly and via@uploadthing/shared) and pnpm override scoping is single-level only; effect is on major 3 everywhere in the tree, so the global override carries no major-version-straddling risk.form-datauses a parent-scoped override instead, because the package spans majors in this tree (the root devDependency is on 3.x) and a global override would have downgraded that unrelated consumer.