CVE-2026-123808: Nuxt UI: UAuthForm / UForm SSR markup omits `method`, leaking credentials via GET if submitted before hydration
Nuxt UI is an intuitive Vue UI library powered by Reka UI and Tailwind CSS. Prior to 4.8.1, the server-rendered form element produced by UForm in src/runtime/components/Form.vue omits the method and action attributes and relies solely on the hydrated @submit.prevent handler to stop native submission. UAuthForm composes UForm and can render named credential fields, including an input with type password, inside the same markup. If a user submits before Vue hydration completes, or when the client bundle is blocked or unavailable, the browser performs its default GET submission and serializes the named fields into the current URL query string. The credentials can then appear in the address bar, browser history, reverse-proxy, CDN, or WAF request logs, and Referer headers sent with same-origin subresource requests. This issue is fixed in version 4.8.1.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Nuxt UIto a version that resolves this vulnerability.Fixed in 4.8.1
Event History
Frequently Asked Questions
When can credential values be exposed?
Exposure occurs if a user submits the rendered form before Vue hydration completes, or if the client bundle is blocked or unavailable. In that state, the browser uses its default GET submission behavior and places named form fields in the current URL query string.
Where should responders look for potentially exposed values?
Credential values may appear in the browser address bar and history, as well as reverse-proxy, CDN, or WAF request logs. They may also be included in Referer headers sent by same-origin subresource requests.
Which deployments need remediation?
Nuxt UI versions prior to 4.8.1 are affected when UAuthForm renders named credential fields, including password inputs. The issue is fixed in version 4.8.1.