GHSA-gm68-572p-q28r @vendure/admin-ui-plugin authenticated Cross-site Scripting vulnerability
Authenticated users can inject arbitrary HTML into description fields, leading to XSS and privilege escalation when other users view the page.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is GHSA-gm68-572p-q28r?
GHSA-gm68-572p-q28r is a cross-site scripting vulnerability in @vendure/admin-ui-plugin, published on 6 Jul 2023. Any signed-in user can exploit it over the network, and only if a user opens a file or follows a link.
Official description
Impact
Vendure provides an authorization system with different levels of privileges. For example, an administrator cannot create another administrator.
In the admin UI, there are a couple of places with description inputs, such as inventory/collection catalog, shipping methods, promotions, and more.
While the WYSIWYG editor allows limited customization, altering the request data (not in the ui) saves and returns arbitrary HTML with no sanitization. Causing an XSS when viewing the page.
The impact of this XSS is privilege escalation. A user that can write any type of description can trigger the attack. Then any other user that visits the vulnerable page is prone to arbitrary Javascript code execution, giving the attacker ability to execute actions on behalf of this user.
Patches
in progress
Workarounds
Is there a way for users to fix or remediate the vulnerability without upgrading?
References
Are there any links users can visit to find out more?
Which versions are affected by GHSA-gm68-572p-q28r?
2 open source packages ship an affected version, including @vendure/admin-ui-plugin.
| Package | Affected | Fixed in |
|---|---|---|
@vendure/admin-ui-plugin npm | All versions | 2.0.3 |
@vendure/admin-ui-plugin npm | All versions | 2.0.3 |
How do I fix GHSA-gm68-572p-q28r?
Upgrade @vendure/admin-ui-plugin to 2.0.3 or later.
Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.
Is GHSA-gm68-572p-q28r being exploited?
There is no known exploitation of GHSA-gm68-572p-q28r in the wild and no public exploit code.