GHSA-xhq9-whgq-49j5: Vendure has stored XSS in the Admin Dashboard via unsafe HTML-stripping (innerHTML) of entity descriptions
Summary
Vendure's Admin Dashboard has a stored XSS (cross-site scripting, where malicious code runs in a user's browser) vulnerability in how it displays product descriptions. The code tries to remove HTML by setting a description to an element's `innerHTML` and reading back the text, but this still executes harmful code like `<img src=x onerror=...>` that runs when parsed. A lower-privilege admin can inject this payload into a product description, and when a higher-privilege admin views the product list, the malicious code runs in their browser session, allowing account takeover.
Solution / Mitigation
The source suggests replacing the vulnerable pattern with an inert parser: use `new DOMParser().parseFromString(value ?? '', 'text/html').body.textContent ?? ''` instead of assigning to `innerHTML`. The source also recommends auditing the codebase for other `element.innerHTML = <untrusted>` assignments and optionally using a sanitizer like DOMPurify if rich text display is needed.
Vulnerability Details
EPSS: 0.0%
Yes
September 17, 2026
Classification
Affected Packages
Original source: https://github.com/advisories/GHSA-xhq9-whgq-49j5
First tracked: September 17, 2026 at 02:00 PM
Classified by LLM (prompt v3) · confidence: 95%