<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://db.gcve.eu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Wed, 11 Nov 2026 18:05:22 +0000</lastBuildDate>
    <item>
      <title>fkie_cve-2026-123808</title>
      <link>https://db.gcve.eu/vuln/fkie_cve-2026-123808</link>
      <description>&lt;p&gt;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.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;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.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/fkie_cve-2026-123808</guid>
    </item>
    <item>
      <title>GHSA-gj2h-2fpw-fhv9 — @nuxt/ui: UAuthForm / UForm SSR markup omits `method`, leaking credentials via GET if submitted before hydration</title>
      <link>https://db.gcve.eu/vuln/ghsa-gj2h-2fpw-fhv9</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: @nuxt/ui&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;`UForm` and `UAuthForm` render a server-side `&amp;lt;form&amp;gt;` element with no `method` and no `action` attribute, relying on a hydrated `@submit.prevent` handler 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: a `GET` to the current URL with every named field, including `&amp;lt;input type=&amp;#34;password&amp;#34;&amp;gt;`, serialised into the query string.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;`src/runtime/components/Form.vue` (around the template&amp;#39;s `&amp;lt;form&amp;gt;` element) emits:&lt;/p&gt;
&lt;p&gt;```vue
&amp;lt;component
  :is=&amp;#34;parentBus ? &amp;#39;div&amp;#39; : &amp;#39;form&amp;#39;&amp;#34;
  :id=&amp;#34;formId&amp;#34;
  ref=&amp;#34;formRef&amp;#34;
  :class=&amp;#34;ui({ class: [uiProp?.base, props.class] })&amp;#34;
  @submit.prevent=&amp;#34;onSubmitWrapper&amp;#34;
&amp;gt;
```&lt;/p&gt;
&lt;p&gt;No `method`, no `action`. `@submit.prevent` is the only thing stopping native submission, and it only exists after hydration. `UAuthForm` composes `UForm` and inherits the same shape.&lt;/p&gt;
&lt;p&gt;The SSR snapshot of `UAuthForm` (`test/components/__snapshots__/AuthForm.spec.ts.snap`) shows the rendered markup, with `&amp;lt;input type=&amp;#34;password&amp;#34; name=&amp;#34;password&amp;#34;&amp;gt;` inside a `&amp;lt;form&amp;gt;` that has no `method`.&lt;/p&gt;
&lt;p&gt;### Proof of concept&lt;/p&gt;
&lt;p&gt;Reported by @nimonian:&lt;/p&gt;
&lt;p&gt;1. Create a minimal Nuxt app with a `UAuthForm`.
2. Build for production and visit in a browser with network throttling at 4G or slower.
3. Enter credentials.
4. Submit (or let autofill + Enter fire before hydration).&lt;/p&gt;
&lt;p&gt;The URL becomes `/login?email=…&amp;amp;password=…`. Reprodu…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: @nuxt/ui&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;`UForm` and `UAuthForm` render a server-side `&amp;lt;form&amp;gt;` element with no `method` and no `action` attribute, relying on a hydrated `@submit.prevent` handler 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: a `GET` to the current URL with every named field, including `&amp;lt;input type=&amp;#34;password&amp;#34;&amp;gt;`, serialised into the query string.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;`src/runtime/components/Form.vue` (around the template&amp;#39;s `&amp;lt;form&amp;gt;` element) emits:&lt;/p&gt;
&lt;p&gt;```vue
&amp;lt;component
  :is=&amp;#34;parentBus ? &amp;#39;div&amp;#39; : &amp;#39;form&amp;#39;&amp;#34;
  :id=&amp;#34;formId&amp;#34;
  ref=&amp;#34;formRef&amp;#34;
  :class=&amp;#34;ui({ class: [uiProp?.base, props.class] })&amp;#34;
  @submit.prevent=&amp;#34;onSubmitWrapper&amp;#34;
&amp;gt;
```&lt;/p&gt;
&lt;p&gt;No `method`, no `action`. `@submit.prevent` is the only thing stopping native submission, and it only exists after hydration. `UAuthForm` composes `UForm` and inherits the same shape.&lt;/p&gt;
&lt;p&gt;The SSR snapshot of `UAuthForm` (`test/components/__snapshots__/AuthForm.spec.ts.snap`) shows the rendered markup, with `&amp;lt;input type=&amp;#34;password&amp;#34; name=&amp;#34;password&amp;#34;&amp;gt;` inside a `&amp;lt;form&amp;gt;` that has no `method`.&lt;/p&gt;
&lt;p&gt;### Proof of concept&lt;/p&gt;
&lt;p&gt;Reported by @nimonian:&lt;/p&gt;
&lt;p&gt;1. Create a minimal Nuxt app with a `UAuthForm`.
2. Build for production and visit in a browser with network throttling at 4G or slower.
3. Enter credentials.
4. Submit (or let autofill + Enter fire before hydration).&lt;/p&gt;
&lt;p&gt;The URL becomes `/login?email=…&amp;amp;password=…`. Reprodu…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ghsa-gj2h-2fpw-fhv9</guid>
    </item>
  </channel>
</rss>
