chore(deps): update pnpm.catalog.dev nitropack to v2.13.4 [security]#280
chore(deps): update pnpm.catalog.dev nitropack to v2.13.4 [security]#280renovate[bot] wants to merge 1 commit into
Conversation
d50545b to
6b5eaae
Compare
|
Warning Review the following alerts detected in dependencies. According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.
|
6b5eaae to
5ea593e
Compare
0d2d6af to
df9a857
Compare
df9a857 to
b3274b0
Compare
d8e0f2e to
1a4e978
Compare
1a4e978 to
c0b208b
Compare
c0b208b to
662ae81
Compare
This PR contains the following updates:
2.12.9→2.13.4Nitro has a proxy scope bypass via percent-encoded path traversal in
routeRulesCVE-2026-44373 / GHSA-5w89-w975-hf9q
More information
Details
A proxy route rule like:
is intended to limit the proxy to URLs under
/api/orders/. Before the patch, an attacker could bypass that scope by sending percent-encoded path traversal (..%2f) in the URL, causing Nitro to forward a request that the upstream resolved outside the configured scope. Example exploit:Nitro sees
..%2fas opaque characters at match time, the/api/orders/**rule matched, and the raw path was forwarded to the upstream as/orders/..%2fadmin/config.json. An upstream that decodes%2Fto/then resolved..and can serve/admin/config.jsonoutside the intended scope.Are you affected?
Users may be affected if ALL of the following are true:
routeRuleswith aproxyentry ({ proxy: { to: "..." } }).tovalue uses a/**wildcard suffix to forward sub-paths.%2Fas/before routing or filesystem lookup.Whether the bypass actually leaks data depends on the upstream. Modern JS frameworks keep
%2Fopaque per RFC 3986 and are safe by construction.%2Fopaque per RFC 3986.os.path-based routing, anything sitting behind another layer that decodes%2F(common in microservice meshes).Impact
Any HTTP path reachable from the Nitro server to the upstream could be requested, regardless of the configured
/**scope. In typical deployments (API gateway, BFF, microservice proxy) this could expose internal admin endpoints, secrets endpoints, or other services the developer believed the scope rule fenced off.Patched versions
Upgrade to one of:
The fix canonicalizes the incoming pathname before building the upstream URL and rejects requests with
400 Bad Requestif the resolved path would escape the rule's base. The bytes forwarded upstream are unchanged when the request is allowed.Credits
Reported by @mHe4am (@he4am on HackerOne) via the Vercel Open Source program.
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Nitro has an Open Redirect via Protocol-Relative URL Bypass in Wildcard Route Rules
CVE-2026-44372 / GHSA-9phm-9p8f-hw5m
More information
Details
A redirect route rule like:
is intended to rewrite paths within the same host. Before the patch, an attacker could turn the rewrite into a cross-host redirect by sliding an extra slash in after the rule prefix. Example exploit:
Nitro stripped
/legacyfrom the matched pathname and joined the remainder against the rule's target. The remainder was//evil.com, which the join preserved verbatim, so Nitro responded withLocation: //evil.com. Browsers resolve//evil.comas a protocol-relative URL against the current scheme, sending the user tohttps://evil.com.Are you affected?
Users may be affected if all of the following are true:
routeRuleswith aredirectentry./**wildcard suffix to forward sub-paths (e.g.redirect: "/**",redirect: "/new/**",proxy: { to: "http://upstream/**" }).redirectrule is not handled natively at the CDN layer. Thevercel,netlify,cloudflare-pages, andedgeonepresets translaterouteRules.redirectinto platform config (vercel.json,_redirects, EdgeOne v3 config) and serve the redirect at the edge — those deployments bypass the Nitro runtime entirely and are not affected. Every other preset executes the redirect through the Nitro runtime and can be vulnerable.Impact
Open redirect from any host serving Nitro with a wildcard
redirectrule. The redirect target is fully attacker-controlled, the URL looks legitimate (it starts with the victim's domain), and the browser silently follows it.Patched versions
Upgrade to one of:
The fix has two parts:
ufois bumped to^1.6.4(unjs/ufo@5cd9e67), which collapses any run of leading slashes to a single/insidewithoutBase. This covers the typical"/scope/**"rule.//before joining when the rule path itself is/**(in rare case which casewithoutBaseis never called and the raw pathname flows straight intojoinURL("", …)).Severity
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
nitrojs/nitro (nitropack)
v2.13.4Compare Source
compare changes
🚀 Enhancements
🩹 Fixes
🏡 Chore
❤️ Contributors
v2.13.3Compare Source
compare changes
📦 Dependency Updates
httpxyh3esbuildrollup@vercel/nftc12cittydefuglobbylisthenunstoragecookie-esyouchv2.13.2Compare Source
compare changes
🩹 Fixes
..or outside of public dir (81f76800)📖 Documentation
Preset Changes
isr.exposeErrBody(f7753152)❤️ Contributors
v2.13.1Compare Source
compare changes
This release mainly updates dependencies (696dc3a9)
h3@​1.15.5released with security fix (release notes)[email protected]released withchokidar,lru-cache, andh3dependency bumps (release notes)v2.13.0Compare Source
compare changes
🚀 Enhancements
NITRO_BUN_IDLE_TIMEOUTenv variable (#3294)🔥 Performance
🩹 Fixes
cryptopolyfill (5caca6c0)passQuery: true(#3539)Content-Encoding: gzipfor.gzstatic files (#3381)opts.jsonwhenfalsefor error handler (#3920)💅 Refactors
q
firebase-functionstype import (d27fbe86)📖 Documentation
compatibilityDatevalue (#3570)📦 Dependencies
esbuildto 0.27 (a0176dfa)unwasmto 0.5 (85b057b8)@vercel/nftto v1 (5aeb9f89)@rollup/plugin-commonjsto v29 (58d2ff13)@rollup/plugin-aliasto v6 (3f493325)globbyto v16 (7b8da4c0)🤖 CI
❤️ Contributors
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ 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 this update again.
This PR was generated by Mend Renovate. View the repository job log.