chore(deps): update dependency @nuxt/ui to v4 [security] - #143
Open
renovate[bot] wants to merge 1 commit into
Open
chore(deps): update dependency @nuxt/ui to v4 [security]#143renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #143 +/- ##
=======================================
Coverage 99.76% 99.76%
=======================================
Files 76 76
Lines 1284 1284
Branches 324 324
=======================================
Hits 1281 1281
Misses 3 3 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
renovate
Bot
force-pushed
the
renovate/npm-nuxt-ui-vulnerability
branch
from
August 11, 2026 23:30
fad78a7 to
656a104
Compare
4 tasks
renovate
Bot
force-pushed
the
renovate/npm-nuxt-ui-vulnerability
branch
from
August 13, 2026 05:37
656a104 to
136d791
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.0.0→^4.0.0@nuxt/ui: UAuthForm / UForm SSR markup omits
method, leaking credentials via GET if submitted before hydrationGHSA-gj2h-2fpw-fhv9
More information
Details
Summary
UFormandUAuthFormrender a server-side<form>element with nomethodand noactionattribute, relying on a hydrated@submit.preventhandler to intercept submission. If a user submits the form before Vue hydration has attached the handler (autofill plus Enter on a slow network, JS bundle blocked by CSP or CDN failure, etc.), the browser performs the native default: aGETto the current URL with every named field, including<input type="password">, serialised into the query string.Details
src/runtime/components/Form.vue(around the template's<form>element) emits:No
method, noaction.@submit.preventis the only thing stopping native submission, and it only exists after hydration.UAuthFormcomposesUFormand inherits the same shape.The SSR snapshot of
UAuthForm(test/components/__snapshots__/AuthForm.spec.ts.snap) shows the rendered markup, with<input type="password" name="password">inside a<form>that has nomethod.Proof of concept
Reported by @nimonian:
UAuthForm.The URL becomes
/login?email=…&password=…. Reproducible deterministically in Playwright by triggering submit immediately onload.Impact
Any application using
UAuthForm(orUFormwith credential-shaped fields) as documented. The cleartext password lands in:window.history,Refererheader of every same-origin subresource fetched from the resulting URL,Patch
Default the rendered
<form>tomethod="post"so the pre-hydration fallback submits as POST rather than GET. Vue's@submit.preventstill intercepts the hydrated case; the attribute only matters in the race window. Applications that explicitly want native GET submission can opt back in by passingmethod="get".Credit
Reported by @nimonian. Originally filed as
GHSA-92g7-2fpq-hmq8againstnuxt/nuxt; moved here because the affected code lives in@nuxt/ui.Severity
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
nuxt/ui (@nuxt/ui)
v4.8.1Compare Source
Bug Fixes
method="post"to prevent credential leaking via GET before hydration (#6512) (7a0825a)tagPriorityto-2for inline style tag (2dac778)max-height(#6503) (f4d7cbe)v4.8.0Compare Source
⚠ BREAKING CHANGES
autocompleteprop tomodeto free up HTML attribute (#6474)Features
colorprop (#6405) (6f2396f)colorprop (#6406) (955dac1)bodyslot and improve actions alignment (#6460) (48685b6)colorprop andheaderslot (#6407) (c6ce8ca)submitOnEnterprop to control Enter behavior (b597f90), closes #6177highlightprop for error ring styling (a0deee4)useSearchCollection(#6432) (a1bef8b)storageOptionsprop (8f0101b), closes #6170iconprop andleadingslot (e6ea707), closes #6119positionprop (#6415) (844660a)Bug Fixes
wrap-break-wordto content slot (#6476) (eb468e6)useTokenSearchis enabled (898fbce)theme.prefixto hardcoded utility classes (f51b1e8)ui.triggerprop to trigger elements (252b906), closes #6428e.codefor alt shortcuts to handle macOS key remapping (231f156), closes #6444disabledattribute to button variant (2890c83), closes #6420trailing: falseover defaulttrailingIcon(#6457) (65b47ce)autocompleteprop tomodeto free up HTML attribute (#6474) (2799fa6)@nuxtjs/mdcwhen usingcontentoption (89f7778)[#build](https://redirect.github.com/nuxt/ui/issues/build)/ui.cssfallback for tooling (083c2a9), closes #5504valueoptional (f317c7f)ClassValueleaves (cac3860)v4.7.1Compare Source
Bug Fixes
@nuxtjs/i18nauto-localization (#6404) (dde09d0)v4.7.0Compare Source
Features
separatorslot (#6305) (81c7ddb)titleanddescriptionprops (3cf7d75), closes #6001group-labelslot (#6329) (7fc773c)searchDelayprop (7d2af05)@nuxtjs/i18nis installed (#5537) (92cfda0)autoResizemethod (#6120) (9c5c0df)Bug Fixes
leading-nonefrom fallback (#6383) (77ce09a)disabledprop when status is notready(600a2ca)defaultVariantsin template logic (#6361) (75b37d0)colorandhighlightinstead of raw props (bb5a9ed)v-showand$elresolution (#6310) (2c4ff35)tagPriorityfor inline style tags (#6299) (ae693d0)codeprop is missing (#6333) (b808ce4)item-alignedposition mode (#6358) (255807a)v4.6.1Compare Source
Bug Fixes
part.statefor streaming detection and deprecateisReasoningStreaming(d2d7543)collapsed: falsein mobile menu slots (957a0f5), closes #6157reka-uito prevent injection errors (#6286) (b822c43)v4.6.0Compare Source
⚠ BREAKING CHANGES
moduleDependenciesto manipulate options (#5384)Features
filesslot (12d6020)trueValue/falseValueprops (#6150) (91c6356)highlight-variantprop (#5746) (df080ce)filterprop (#6153) (a529b43)fileImageprop (#5935) (40f9c2e)autocompleteprop (#6026) (ee8a248)rangeprop (#6203) (c124f29)moduleDependenciesto manipulate options (#5384) (dd3f5c5)Bug Fixes
liftcalls for unavailable list extensions (#6100) (065db6b)statusandstatusTextproperties (1350d62), closes #6134close:preventemit (#6226) (9a0d501)v4.5.1Compare Source
Bug Fixes
stroke-defaultandfill-bg(#6095) (0e9198e)transformUIfrom mutating cacheduseComponentUIvalue (286738a), closes #6104 #4387isArrayOfArraytype return (#6097) (04292d9)v4.5.0Compare Source
Features
autoCloseprop (#6089) (2663deb)nested/nestedOptionsprops and emithoverevent (#5960) (ed60193)horizontalorientation (#5682) (f46b504)chipin items (#6064) (401a2c0)skipMeasurementvirtualize option (#5721) (548b711)outlineandsubtlevariants (94b0c31)Bug Fixes
ImgHTMLAttributestype for image prop (#6007) (0185856)data-stateconflict when used inside Tooltip (2bb1a8b), closes #3599update:modelValueemit type (#5927) (64d2e88)fixedprop to prevent responsive text size reduction (#6074) (8f5f44c)charprop as mention prefix instead of always@(0b9b097), closes #6035sizeto buttons (1ec1698), closes #5958cssLayeroption fromcomponentstobase(#6076) (e8bc322)byprop (14dceaf)shallowRefwhen watch deep is disabled (#6023) (bc06ce2)updateto keep toast open and reset duration (82afa0a)DotPathKeysaccuracy andGetItemKeysperformance (#6077) (6f7af3e)v4.4.0Compare Source
Features
weekNumbersprop (#4555) (7a1a71b)indicatorprop (#5257) (6a925cd)estimateSizeas function (#5748) (d51b424)inputprop (#5736) (12052e8)sizeprop (#5878) (3ae04c6)byprop (#5906) (36cd5e5)valueKeyprop (#5905) (55646ea)placeholder.modeprop (d90acb3), closes #5785sizeprop in menus (#5889) (571d50d)taskListhandler (#5837) (db04197)imageandmentionprops (b6fa83a), closes #5820ignoreFilterprop (#5880) (f8d1883)viewportReffor infinite scroll (#5836) (f4a945c)clearprop (#5643) (ec6b8ec)alignprop (859390e), closes #5795selectevent (#5826) (8e431be)Bug Fixes
contentTypewhen updating value (c37d6f7), closes #5709onClickfrom being called twice on items (cbed0cc), closes #5784maininstead ofdiv(6ccb1f5)csandskterminology for correct inflection (#5789) (af6f288)primarycolor andmdsize default variants (f422de8)expandAllprop (c79cb77), closes #5828v4.3.0Compare Source
Features
subprop on content slots (#5609) (b09e6bc)layoutIndependentoption (#4251) (ece0568)separatoroption (#5642) (4e71271)orientationprop (#5632) (b74ec6e)modelModifiersprop (#5559) (a92ee7b)[@source](https://redirect.github.com/source)for nuxt layers (#5630) (de98a72)itemsprop (cb34ca5)insetprop (05bd995)routeroption to disable router (#5213) (b34cf8a)scanPackagesoption (#5510) (4e57139)Bug Fixes
z-index(07147f1)UButtonimport (1b850bb)kind(feb756d)reverseprop under lg screens (#5545) (60b430c)aria-labelto thumb (#5313) (f99ec46)size(e885b0e), closes #4721 #3927v4.2.1Compare Source
Bug Fixes
stopandreloademits (#5400) (736a547)nametype (#5498) (b654a77)#app(#5491) (da8daaa)#build/ui.cssalias (#5499) (d9aadc7)v4.2.0Compare Source
⚠ BREAKING CHANGES
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, 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.