<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Nuxt 4 - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/nuxt-4/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Wed, 05 Aug 2026 21:25:30 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/nuxt-4/feed.xml" rel="self" type="application/rss+xml"/><item><title>Unauthenticated Denial of Service in Nuxt SSR</title><link>https://feed.craftedsignal.io/briefs/2026-08-nuxt-dos/</link><pubDate>Wed, 05 Aug 2026 21:25:30 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-08-nuxt-dos/</guid><description>An unauthenticated remote denial-of-service vulnerability (CVE-2026-71314) in Nuxt allows attackers to trigger memory exhaustion via unbounded 'v-for' iteration within server-side rendered components.</description><content:encoded><![CDATA[<p>Nuxt versions prior to 4.5.1 and 3.21.10 are vulnerable to a remote denial-of-service attack (CVE-2026-71314). The vulnerability originates in the island/server-component rendering pipeline, where 'v-for' directives can be applied to user-controlled props. Because the island URL hash is a predictable digest, an attacker can craft a request that forces the server-side rendering (SSR) engine to iterate a 'v-for' loop an arbitrary number of times.</p>
<p>By supplying an extremely large integer as the iterated prop, an attacker causes the Nuxt server to allocate memory proportional to the iteration count, leading to an out-of-memory (OOM) crash of the worker process. The vulnerability impacts both direct 'v-for' directives on props and slot-based 'v-for' expansion via the 'vforToArray' utility. Successful exploitation requires only a small (approx. 130-byte) HTTP request. Organizations using Nuxt for SSR should update to the patched versions immediately or implement input clamping for props passed to 'v-for' within server components.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker identifies a Nuxt application using server-side rendered islands or components that perform 'v-for' iterations on user-provided props.</li>
<li>Attacker inspects public-facing island URL hash generation to understand the request digest format.</li>
<li>Attacker constructs a malicious request containing a crafted prop value, specifically a high-integer value intended for a 'v-for' loop.</li>
<li>Attacker submits the request to the target endpoint, typically targeting the /__nuxt_island/ path.</li>
<li>The Nuxt SSR engine processes the request and maps the attacker-supplied integer to the 'v-for' iteration logic.</li>
<li>The rendering engine expands the loop during SSR, leading to rapid, unbounded memory allocation within the worker process.</li>
<li>The server process exhausts system memory and crashes, resulting in a denial-of-service for the application.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation results in an immediate denial-of-service condition for the targeted application instance. A single small request (approx. 130 bytes) is sufficient to crash a worker process when provided with an iteration count in the tens of millions. This allows for trivial, unauthenticated resource exhaustion and service unavailability across affected infrastructure.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Update to Nuxt 4.5.1 or 3.21.10 to incorporate the 'MAX_VFOR_LENGTH' clamping logic, which prevents unbounded iteration expansion.</li>
<li>Audit application code for components utilizing 'v-for' on props passed from server-side inputs.</li>
<li>Deploy manual input validation or clamping in server components using 'Math.min(count, 1000)' to provide defense-in-depth until patching is complete.</li>
<li>Monitor webserver logs for unusual spikes in 500-series status codes targeting the /__nuxt_island/ endpoint, which may indicate crash attempts.</li>
</ul>
]]></content:encoded><category domain="severity">low</category><category domain="type">advisory</category></item></channel></rss>