Sylius has Authenticated Stored XSS
Key facts
- Attack vector
- Network
- Privileges required
- High
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- Cross-site scripting
- Confidentiality · integrity · availability
- Low · Low · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-79.
Summary
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 <img src=x onerror=alert('XSS')> 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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
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 |
|---|---|---|---|---|---|
| Sylius | Sylius | 2.2.0 to before 2.2.3; 2.1.0 to before 2.1.12; 2.0.0 to before 2.0.16 | 2.2.3, 2.1.12, 2.0.16 | Patch available | CNA |
| — | sylius/sylius (Packagist) | 2.0.0 to before 2.0.16 | 2.0.16 | Patch available | GHSA-mx4q-xxc9-pf5q |
| — | sylius/sylius (Packagist) | 2.1.0 to before 2.1.12 | 2.1.12 | Patch available | GHSA-mx4q-xxc9-pf5q |
| — | sylius/sylius (Packagist) | 2.2.0 to before 2.2.3 | 2.2.3 | Patch available | GHSA-mx4q-xxc9-pf5q |
- Sylius VendorSylius Affected 2.2.0 to before 2.2.3; 2.1.0 to before 2.1.12; 2.0.0 to before 2.0.16 Fixed in 2.2.3, 2.1.12, 2.0.16 Patch available CNA
- sylius/sylius (Packagist) Vendor— Affected 2.0.0 to before 2.0.16 Fixed in 2.0.16 Patch available GHSA-mx4q-xxc9-pf5q
- sylius/sylius (Packagist) Vendor— Affected 2.1.0 to before 2.1.12 Fixed in 2.1.12 Patch available GHSA-mx4q-xxc9-pf5q
- sylius/sylius (Packagist) Vendor— Affected 2.2.0 to before 2.2.3 Fixed in 2.2.3 Patch available GHSA-mx4q-xxc9-pf5q
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:sylius:sylius:*:*:*:*:*:*:*:* | 2.0.0 to before 2.0.16; 2.1.0 to before 2.1.12; 2.2.0 to before 2.2.3 | Vulnerable | Sylius |
- cpe:2.3:a:sylius:sylius:*:*:*:*:*:*:*:* Versions 2.0.0 to before 2.0.16; 2.1.0 to before 2.1.12; 2.2.0 to before 2.2.3 Vulnerable ·Sylius
Remediation
- Fix · CNA Sylius (Sylius) Fixed in 2.2.3, 2.1.12, 2.0.16
- Fix · GHSA-mx4q-xxc9-pf5q sylius/sylius (Packagist) Fixed in 2.0.16 Advisory →
- Fix · GHSA-mx4q-xxc9-pf5q sylius/sylius (Packagist) Fixed in 2.1.12 Advisory →
- Fix · GHSA-mx4q-xxc9-pf5q sylius/sylius (Packagist) Fixed in 2.2.3 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-31823
- 2026-10-03 Alias added: GHSA-mx4q-xxc9-pf5q
References
More Sylius vulnerabilities
- TI-2026-24374 Sylius is Missing Authorization in API v2 Add Item Endpoint CVSS 4.0MEDIUM 6.9
- TI-2022-08557 Insufficient Session Expiration in Sylius CVSS 3.1HIGH 8.2
- TI-2026-24378 Sylius has a DQL Injection via API Order Filters CVSS 3.1MEDIUM 5.3
- TI-2024-19437 Sylius 1.12.13 is vulnerable to Cross Site Scripting (XSS) via the "Province" field in Address Book. CVSS 3.1MEDIUM 6.4
- TI-2022-08563 Basic Cross-site Scripting and Unrestricted Upload of File with Dangerous Type in Sylius CVSS 3.1MEDIUM 6.1
- TI-2026-24377 Sylius has a Promotion Usage Limit Bypass via Race Condition CVSS 3.1HIGH 8.2
Sources
- CVE-2026-31823 · CVE Program
- CVE-2026-31823 · NVD
- FIRST EPSS
- GHSA-mx4q-xxc9-pf5q · 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