chore(deps): update dependency nuxt to v3.19.0 [security]#116
Open
renovate[bot] wants to merge 1 commit intomainfrom
Open
chore(deps): update dependency nuxt to v3.19.0 [security]#116renovate[bot] wants to merge 1 commit intomainfrom
renovate[bot] wants to merge 1 commit intomainfrom
Conversation
0b24728 to
06c79ce
Compare
a56e8a9 to
444818b
Compare
98b72e2 to
e1faaa6
Compare
e1faaa6 to
93e1e87
Compare
47fbf69 to
3d5946d
Compare
cd7dc19 to
65b86dd
Compare
65b86dd to
e44a739
Compare
16ce2ed to
4939d61
Compare
4939d61 to
1ab9897
Compare
1ab9897 to
b265ad1
Compare
b51300f to
39691b4
Compare
a26ae51 to
7af3169
Compare
7af3169 to
f423a3c
Compare
f423a3c to
8d88ee6
Compare
8d88ee6 to
1158e83
Compare
1158e83 to
d9f409c
Compare
d9f409c to
9bbfaf4
Compare
6cab217 to
8791682
Compare
8791682 to
6ce810e
Compare
6ce810e to
cb8a17f
Compare
cb8a17f to
cff27cb
Compare
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR contains the following updates:
3.13.2→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
✅ Upgrading
Our recommendation for upgrading is to run:
This will deduplicat
Configuration
📅 Schedule: Branch creation - "" in timezone Europe/London, 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.