<?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/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>Satori (&lt; 0.33.5) - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/satori--0.33.5/</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, 23 Sep 2026 07:52:50 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/satori--0.33.5/feed.xml" rel="self" type="application/rss+xml"/><image><url>https://feed.craftedsignal.io/favicon-32x32.png</url><title>CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/</link><width>32</width><height>32</height></image><webfeeds:icon>https://feed.craftedsignal.io/favicon.svg</webfeeds:icon><item><title>Critical RCE Vulnerability in Next.js ImageResponse via Crafted SVG Input</title><link>https://feed.craftedsignal.io/briefs/2026-09-nextjs-imageresponse-rce/</link><pubDate>Wed, 23 Sep 2026 07:52:50 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-09-nextjs-imageresponse-rce/</guid><description>A critical vulnerability (CVE-2026-94545) in the Next.js ImageResponse feature allows unauthenticated remote code execution when attacker-controlled input is improperly sanitized during SVG generation.</description><content:encoded><![CDATA[<p>Vercel has disclosed a critical security vulnerability, tracked as CVE-2026-94545, affecting the ImageResponse feature in Next.js versions 16.2.0 through 16.3.5. The flaw originates in the underlying Satori library, which converts image layouts into SVG code. When applications pass attacker-controlled values, such as those derived from request URLs, into SVG content, attributes, or styles, the lack of proper sanitization allows the input to be interpreted as malicious SVG markup.</p>
<p>This flaw is particularly dangerous when the ImageResponse runs on the default Node.js runtime, as the processed malicious markup can trigger further vulnerabilities in downstream library dependencies, leading to remote code execution (RCE). Next.js 16.3.6 and Satori 0.33.5 include the necessary fixes to properly escape user-provided content. While no public exploits have been reported, the vulnerability affects any application that dynamically generates Open Graph or social preview images based on user input.</p>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows an unauthenticated remote attacker to achieve code execution on the server hosting the Next.js application. Given that ImageResponse is frequently used for dynamic social media preview generation, high-traffic applications are at significant risk of compromise. The vulnerability has a CVSS score of 9.5, reflecting its potential for full system compromise.</p>
<h2 id="recommendation">Recommendation</h2>
<p>Prioritize the following actions to mitigate the risk posed by CVE-2026-94545:</p>
<ul>
<li>Upgrade all Next.js deployments running affected versions (16.2.0 through 16.3.5) to Next.js 16.3.6 immediately.</li>
<li>If the application uses the Satori library directly, update the dependency to version 0.33.5 or later.</li>
<li>Audit all route handlers and opengraph-image files to identify instances where user-supplied input (e.g., from query parameters or headers) is passed into ImageResponse components.</li>
<li>Implement strict input validation and sanitization for any user-controlled values intended for use in image generation as a temporary defense-in-depth measure.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>web-vulnerability</category><category>rce</category><category>server-side</category><category>nextjs</category></item></channel></rss>