Sylius has Authenticated Stored XSS
Description
Sylius is an Open Source eCommerce Framework on Symfony. An authenticated stored cross-site scripting (XSS) vulnerability exists in multiple places across the shop frontend and admin panel due to unsanitized entity names being rendered as raw HTML. Shop breadcrumbs (shared/breadcrumbs.html.twig): The breadcrumbs macro uses the Twig |raw filter on label values. Since taxon names, product names, and ancestor names flow directly into these labels, a malicious taxon name like is rendered and executed as JavaScript on the storefront. Admin product taxon picker (ProductTaxonTreeController.js): The rowRenderer method interpolates ${name} directly into a template literal building HTML, allowing script injection through taxon names in the admin panel. Admin autocomplete fields (Tom Select): Dropdown items and options render entity names as raw HTML without escaping, allowing XSS through any autocomplete field displaying entity names. An authenticated administrator can inject arbitrary HTML or JavaScript via entity names (e.g. taxon name) that is persistently rendered for all users. The issue is fixed in versions: 1.9.12, 1.10.16, 1.11.17, 1.12.23, 1.13.15, 1.14.18, 2.0.16, 2.1.12, 2.2.3 and above.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Sylius eCommerce framework has multiple stored XSS flaws where unsanitized entity names are rendered as raw HTML, allowing authenticated admin attackers to inject arbitrary scripts.
Vulnerability
Overview
CVE-2026-31823 describes a stored cross-site scripting (XSS) vulnerability in the Sylius eCommerce framework (Symfony-based). The root cause is that entity names (e.g., taxon names, product names) are rendered as raw HTML without proper sanitization in several locations across both the shop frontend and administrator panel. Specifically, the Twig |raw filter in the breadcrumbs template (shared/breadcrumbs.html.twig), JavaScript template literals in the admin product taxon picker (ProductTaxonTreeController.js), and autocomplete dropdowns all fail to escape entity names before insertion into the DOM [1][2].
Exploitation
An authenticated administrator can supply a malicious entity name — such as a taxon name containing `` — which is then persistently stored and rendered as HTML without escaping. This injected JavaScript executes in the browsers of all subsequent users viewing the affected pages, including the storefront breadcrumbs, the admin product taxon tree picker, and any autocomplete fields displaying entity names. No additional authentication is required for victims beyond normal browsing [1][2].
Impact
Successful exploitation allows an authenticated attacker to execute arbitrary JavaScript in the context of any user's session. This can lead to session hijacking, defacement, or phishing attacks within the application. Because the injected script is stored and served to all users, the attack can propagate to administrators, shop customers, and other staff without requiring direct interaction with the attacker [1][2].
Mitigation
Sylius has released fixes in versions 1.9.12, 1.10.16, 1.11.17, 1.12.23, 1.13.15, 1.14.18, 2.0.16, 2.1.12, 2.2.3 and above. The vendor also provides workarounds that involve overriding vulnerable templates and JavaScript controllers at the project level, with example patches available in the advisory. Users are strongly advised to update to a patched version or apply the provided workarounds [2].
AI Insight generated on May 18, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
sylius/syliusPackagist | >= 2.0.0, < 2.0.16 | 2.0.16 |
sylius/syliusPackagist | >= 2.1.0, < 2.1.12 | 2.1.12 |
sylius/syliusPackagist | >= 2.2.0, < 2.2.3 | 2.2.3 |
Affected products
2- Sylius/Syliusv5Range: >= 2.2.0, < 2.2.3
Patches
0No patches discovered yet.
Vulnerability mechanics
AI mechanics synthesis has not run for this CVE yet.
References
3- github.com/advisories/GHSA-mx4q-xxc9-pf5qghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2026-31823ghsaADVISORY
- github.com/Sylius/Sylius/security/advisories/GHSA-mx4q-xxc9-pf5qghsax_refsource_CONFIRMWEB
News mentions
0No linked articles in our index yet.