Vendure: Stored XSS in the Admin Dashboard via unsafe HTML-stripping (innerHTML) of entity descriptions
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- Cross-site scripting
- Confidentiality · integrity · availability
- High · High · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-79.
Summary
Vendure is an open-source headless commerce platform. Prior to 3.6.5, RichTextDescriptionCell in packages/dashboard/src/lib/components/shared/table-cell/order-table-cell-components.tsx attempts to strip markup by assigning an administrator-controlled description to a live element's innerHTML and then reading textContent. Active resource markup can execute an event handler during the innerHTML assignment before textContent is read. A lower-privilege administrator can store such markup in descriptions rendered by the Products list, Collections list, Promotions list, Payment Methods list, or Shipping Methods list, and script executes when another administrator views the affected row. This stored cross-site scripting can compromise the viewing administrator's session and enable cross-privilege or cross-channel administrative actions. This issue is fixed in version 3.6.5.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| vendurehq | vendure | before 3.6.5 | 3.6.5 | Patch available | CNA |
| — | @vendure/dashboard (npm) | before 3.6.5 | 3.6.5 | Patch available | GHSA-xhq9-whgq-49j5 |
- vendure Vendorvendurehq Affected before 3.6.5 Fixed in 3.6.5 Patch available CNA
- @vendure/dashboard (npm) Vendor— Affected before 3.6.5 Fixed in 3.6.5 Patch available GHSA-xhq9-whgq-49j5
Remediation
- Fix · CNA vendure (vendurehq) Fixed in 3.6.5
- Fix · GHSA-xhq9-whgq-49j5 @vendure/dashboard (npm) Fixed in 3.6.5 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-63459
- 2026-10-03 Alias added: GHSA-xhq9-whgq-49j5
References
More vendurehq vulnerabilities
- TI-2026-45233 Improper authentication in vendurehq vendure CVSS 3.1CRITICAL 9.1
- TI-2026-45228 Vendure: Unauthenticated ReDoS via `regex` filter on SQLite backends CVSS 3.1HIGH 7.5
- TI-2026-47643 Vendure 3.7.1 Cross-Channel Authorization Bypass via StockLocation and Asset Update CVSS 4.0MEDIUM 6.1
- TI-2026-29543 @vendure/core has a SQL Injection vulnerability CVSS 3.1CRITICAL 9.1
- TI-2026-45229 Vendure: Shop API list queries can return non-public entities when filterOperator is OR CVSS 3.1MEDIUM 5.3
Sources
- CVE-2026-63459 · CVE Program
- CVE-2026-63459 · NVD
- FIRST EPSS
- GHSA-xhq9-whgq-49j5 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences