fix(deps): update dependency nuxt to ~3.19.0 [security]#776
Conversation
768493e to
e0284b3
Compare
e0284b3 to
c453a2b
Compare
|
c453a2b to
300b4e0
Compare
300b4e0 to
6364ea2
Compare
|
All alerts resolved. Learn more about Socket for GitHub. This PR previously contained dependency changes with security issues that have been resolved, removed, or ignored. |
6364ea2 to
d4c8b50
Compare
9766ef3 to
69aa9b7
Compare
213ac46 to
a911a42
Compare
a911a42 to
0414723
Compare
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
0414723 to
3618b24
Compare
3618b24 to
92d5e72
Compare
c4e895b to
e19a883
Compare
e19a883 to
e7d3a26
Compare
Edited/Blocked NotificationRenovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR. You can manually request rebase by checking the rebase/retry box above. |
b9bdc74 to
9d01035
Compare
9d01035 to
c99da3c
Compare
|
|
🎉 This PR is included in version 1.24.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
|
🎉 This PR is included in version 1.24.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |



Note
Mend has cancelled the proposed renaming of the Renovate GitHub app being renamed to
mend[bot].This notice will be removed on 2025-10-07.
This PR contains the following updates:
~3.15.4->~3.19.0GitHub Vulnerability Alerts
CVE-2025-27415
Summary
By sending a crafted HTTP request to a server behind an CDN, it is possible in some circumstances to poison the CDN cache and highly impacts the availability of a site.
It is possible to craft a request, such as
https://mysite.com/?/_payload.jsonwhich will be rendered as JSON. If the CDN in front of a Nuxt site ignores the query string when determining whether to cache a route, then this JSON response could be served to future visitors to the site.Impact
An attacker can perform this attack to a vulnerable site in order to make a site unavailable indefinitely. It is also possible in the case where the cache will be reset to make a small script to send a request each X seconds (=caching duration) so that the cache is permanently poisoned making the site completely unavailable.
Conclusion :
This is similar to a vulnerability in Next.js that resulted in CVE-2024-46982 (and see this article, in particular the "Internal URL parameter and pageProps" part, the latter being very similar to the one concerning us here.)
CVE-2025-59414
Summary
A client-side path traversal vulnerability in Nuxt's Island payload revival mechanism allowed attackers to manipulate client-side requests to different endpoints within the same application domain when specific prerendering conditions are met.
Technical Details
The vulnerability occurs in the client-side payload revival process (revive-payload.client.ts) where Nuxt Islands are automatically fetched when encountering serialized
__nuxt_islandobjects. The issue affects the following flow:__nuxt_islandobjectdevalue.stringifyand stored in the prerendered pagedevalue.parsedeserializes the payload/__nuxt_island/${key}.jsonwherekeycould contain path traversal sequencesPrerequisites for Exploitation
This vulnerability requires all of the following conditions:
nitro.prerender)useFetch,useAsyncData, or similar composablesAttack Scenario
This could cause the client to make requests to
/__nuxt_island/../../../../internal/service.jsonif path traversal is not properly handled by the server.Impact Assessment
Mitigation
Action Required:
Temporary Workarounds (if immediate update is not possible):
Fix Details
The fix implemented validation for Island keys in
revive-payload.server.ts:/^[a-z][a-z\d-]*_[a-z\d]+$/iRelease Notes
nuxt/nuxt (nuxt)
v3.19.0Compare Source
👀 Highlights
Please see the release notes for Nuxt v4.1 for full details on the features and fixes in Nuxt v3.19.
✅ Upgrading
As usual, our recommendation for upgrading is to run:
This will refresh your lockfile and pull in all the latest dependencies that Nuxt relies on, especially from the unjs ecosystem.
👉 Changelog
compare changes
🚀 Enhancements
ignoreoption toresolveFiles(#32858)onInstallandonUpgrademodule hooks (#32397)rolldown-vite(#31812)defineRouteRulesto pagerulesproperty (#32897)getLayerDirectoriesutil and refactor to use it (#33098)🔥 Performance
🩹 Fixes
satisfiesin page augmentation (#32902)useFetchhooks (#32891)resolvePathand normalize file extensions (#32857)requestTimeout+ allow configuration (#32874)node_modules/if no customsrcDir(#32987)routeobject (#32899)defineNuxtModule().with()(#33081)nuxtApp._runningTransitionon resolve (#33025)💅 Refactors
async/awaitinafterEach(#32999)📖 Documentation
setupTimeoutand addteardownTimeout(#32868)--nightlycommand (#32907)useRouteand accessing route in middleware (#33004)🏡 Chore
type: 'module'in playground (#33099)✅ Tests
import.meta.dev(#33023)findWorkspaceDirrather than relative paths to repo root (c4c3ada96)expect.poll(f4354203a)expect.pollinstead ofexpectWithPolling(15ca5be95)vi.waitUntilinstead of custom retry logic (4c8c13090)🤖 CI
❤️ Contributors
v3.18.1Compare Source
👉 Changelog
compare changes
🔥 Performance
tinyglobbyinresolveFiles(#32846)🩹 Fixes
errorvariable (#32807)typeCheck(#32835)nullresult from webpack call (65aa17158)reverseResolveAliasfor better errors (#32853)📖 Documentation
🏡 Chore
✅ Tests
defineNuxtComponentout of e2e test (#32848)🤖 CI
❤️ Contributors
v3.18.0Compare Source
👀 Highlights
A huge thank you to everyone who's been a part of this release, which is mostly about backporting features + bugfixes from Nuxt v4.
Over the next six months, we'll continue backporting compatible v4 features and bug fixes, so please keep the feedback coming! ❤️
🧪 Lazy Hydration Macros
Building on the delayed hydration support from v3.16, we now support lazy hydration macros (#31192)! These provide a more ergonomic way to control component hydration:
These macros make it possible to use Nuxt's lazy hydration utilities alongside explicit component imports.
♿️ Accessibility Improvements
We've enhanced accessibility by including
<NuxtRouteAnnouncer>in the built-inapp.vue(#32621). This means page changes will be announced to screen readers, making navigation more accessible for users with visual impairments. (This only applies if you do not have anapp.vuein your project. If you do, please keep<NuxtRouteAnnouncer>in yourapp.vue!)🛠️ Enhanced Development Experience
Chrome DevTools Workspace Integration
We've added Chrome DevTools workspace integration (#32084), allowing you to edit your Nuxt source files directly from Chrome DevTools. This creates a better debugging experience where changes made in DevTools are reflected in your actual source files.
Better Component Type Safety
Component type safety has been improved with:
<ClientOnly>and<DevOnly>(#32707) - better IntelliSense and error checking<NuxtTime>prop types (#32547) - easier to extend and customizeNew Auto-Import:
onWatcherCleanupThe
onWatcherCleanupfunction fromvueis now available as an auto-import (#32396), making it easier to clean up watchers and prevent memory leaks:📊 Observability Enhancements
Page routes are now exposed to Nitro for observability (#32617), enabling better monitoring and analytics integration with supported platforms. This allows observability tools to track page-level metrics more effectively.
🔧 Module Development Improvements
Module authors get several quality-of-life improvements:
Simplified Server Imports
The
addServerImportskit utility now supports single imports (#32289), making it easier to add individual server utilities:TypeScript Configuration
Modules can now add to
typescript.hoist(#32601), giving them more control over TypeScript configuration and type generation.⚡️ Performance Improvements
We've made several performance optimizations:
oxc-walker(#32250) and oxc foronPrehydratetransforms (#32045) for faster code transformations🐛 Bug Fixes
This release also includes several important fixes:
scrollBehaviorTypeis now only used for hash scrolling (#32622)✅ Upgrading
As usual, our recommendation for upgrading is to run:
This refreshes your lockfile and pulls in all the latest dependencies that Nuxt relies on, especially from the unjs ecosystem.
👉 Changelog
compare changes
🚀 Enhancements
<NuxtTime>prop types (#32547)addServerImports(#32289)onWatcherCleanupto imports presets (#32396)🔥 Performance
🩹 Fixes
typescript.hoist(#32601)scrollBehaviorTypefor hash scrolling (#32622)async(fd312af03)<ClientOnly>and<DevOnly>(#32707)mllyto parse module paths (#32386)💅 Refactors
oxc-walker(#32250)onPrehydratetransform (#32045)installNuxtModule(228e3585e)📖 Documentation
v3template to create nuxt examples (03182202f)useNuxtDatain data fetching composable pages (#32589)noUncheckedIndexedAccessrule change in v4 guide (#32643)npm create nuxt@latest(#32726).with()(#32757)🏡 Chore
unbuildand use absolute path in dev stubs (#32759)✅ Tests
module.exportsexport (ac8b02d09)🤖 CI
pkg.pr.newformain/3.xbranches as well (ca4f0b1da)3xtag to latest v3 release (5e8dfc150)❤️ Contributors
v3.17.7Compare Source
✅ Upgrading
Our recommendation for upgrading is to run:
This will deduplicate your lockfile as well, and help ensure that you pull in updates from other dependencies that Nuxt relies on, particularly in the unjs ecosystem.
👉 Changelog
compare changes
🩹 Fixes
extraPageMetaExtractionKeys(#32510)loadBuildererror cause (8f13ce3c2)nullvalues (c1b83eab5)semver.satisfiesreturns true for pre-release versions (#32574)execute being passed towatch` (#32591)📖 Documentation
NUXT_(#32223)useAsyncDataanduseFetchmigration (#32560)undefinedtonullin v3 docs (#32562)asynckeyword (#32587)✅ Tests
generateTypes(c0855439d)<NuxtTime>test (#32558)❤️ Contributors
v3.17.6Compare Source
✅ Upgrading
Our recommendation for upgrading is to run:
This will deduplicate your lockfile as well, and help ensure that you pull in updates from other dependencies that Nuxt relies on, particularly in the unjs ecosystem.
👉 Changelog
compare changes
🔥 Performance
🩹 Fixes
nuxt.config(#32324)nuxt:chunk-reload-immediate(#32382)set-cookieheaders in error handler (#32483)asyncDataruns if changing key while fetcher is running (#32466)navigateTo(#32393)<NuxtLink>'s custom on click handler (#32499)inheritAttrs: falseincreateClientOnlyfn (#32323)output.generatedCode.symbolsfor nitro build (#32358)💅 Refactors
📖 Documentation
h3js(#32243)clearfunction description (#32287)defineNuxtPluginfunction documentation (#32328)<NuxtLink>encodes query params (#32361)bun.lockfor lockfile (#32427)🏡 Chore
workspacetoprojects(#32388)✅ Tests
immediate: false(#32473)🤖 CI
❤️ Contributors
v3.17.5Compare Source
✅ Upgrading
Our recommendation for upgrading is to run:
This will deduplicate your lockfile as well, and help ensure that you pull in updates from other dependencies that Nuxt relies on, particularly in the unjs ecosystem.
👉 Changelog
compare changes
🔥 Performance
globby(#31688)🩹 Fixes
useScriptRybbitAnalyticsfrom script stubs (d275ae1a0)appConfigsources are not duplicated (#32216)h()in ClientOnly (#30664)asyncDatastate from nuxt app instance (#32232)srcDirinbuildCache(#32260)asyncDatawatcher (#32247)📖 Documentation
addRouteMiddlewarepath in example (#32171)--env-file(29f6392cd)nuxtcommand consistently (#32237)alertwithwarningin/guide/pages(#32270)📦 Build
🏡 Chore
✅ Tests
❤️ Contributors
v3.17.4Compare Source
✅ Upgrading
Our recommendation for upgrading is to run:
This will deduplicate your lockfile as well, and help ensure that you pull in updates from other dependencies that Nuxt relies on, particularly in the unjs ecosystem.
👉 Changelog
compare changes
🔥 Performance
shallowReffor primitive values (#32152)Intl.Collatorinstead oflocaleCompare(#32167)🩹 Fixes
<ClientOnly>(#32101)useLazyAsyncData(#32092)ts-checker-rspack-plugin(#32115)/(#32129)DeepPartial(#31990)<ClientOnly>(#32131)globalwithglobalThis(#32130)<NuxtLayout>first renders (#24673)srcDirto parcel strategy (#32139)📖 Documentation
useNuxtDatadefault return toundefined(#32054)imports.dirswith alias (0dbf314d9)🏡 Chore
✅ Tests
setTimeoutmock (#32142)🤖 CI
❤️ Contributors
v3.17.3Compare Source
✅ Upgrading
Our recommendation for upgrading is to run:
This will deduplicate your lockfile as well, and help ensure that you pull in updates from other dependencies that Nuxt relies on, particularly in the unjs ecosystem.
👉 Changelog
compare changes
🔥 Performance
🩹 Fixes
FormData(#32013)ignorepatterns (#32020)useFetchwithwatch: false(#32019)getCachedDatais provided (#32003)nuxtAppfor asyncData functions run on server (#32038)💅 Refactors
asyncData(e779d6cd5)📖 Documentation
🤖 CI
bug/enhancementlabels to issue types (3ff743fe0)❤️ Contributors
v3.17.2Compare Source
Configuration
📅 Schedule: Branch creation - "" in timezone Europe/Paris, 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 this update again.
This PR was generated by Mend Renovate. View the repository job log.