Sylius affected by IDOR in Cart and Checkout LiveComponents
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- High · None · None
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-639.
Summary
Sylius is an Open Source eCommerce Framework on Symfony. An authenticated Insecure Direct Object Reference (IDOR) vulnerability exists in multiple shop LiveComponents due to unvalidated resource IDs accepted via #[LiveArg] parameters. Unlike props, which are protected by LiveComponent's @checksum, args are fully user-controlled - any action that accepts a resource ID via #[LiveArg] and loads it with ->find() without ownership validation is vulnerable. Checkout address FormComponent (addressFieldUpdated action): Accepts an addressId via #[LiveArg] and loads it without verifying ownership, exposing another user's first name, last name, company, phone number, street, city, postcode, and country. Cart WidgetComponent (refreshCart action): Accepts a cartId via #[LiveArg] and loads any order directly from the repository, exposing order total and item count. Cart SummaryComponent (refreshCart action): Accepts a cartId via #[LiveArg] and loads any order directly from the repository, exposing subtotal, discount, shipping cost, taxes (excluded and included), and order total. Since sylius_order contains both active carts (state=cart) and completed orders (state=new/fulfilled) in the same ID space, the cart IDOR exposes data from all orders, not just active carts. The issue is fixed in versions: 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-2xc6-348p-c2x6 |
| — | sylius/sylius (Packagist) | 2.1.0 to before 2.1.12 | 2.1.12 | Patch available | GHSA-2xc6-348p-c2x6 |
| — | sylius/sylius (Packagist) | 2.2.0 to before 2.2.3 | 2.2.3 | Patch available | GHSA-2xc6-348p-c2x6 |
- 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-2xc6-348p-c2x6
- sylius/sylius (Packagist) Vendor— Affected 2.1.0 to before 2.1.12 Fixed in 2.1.12 Patch available GHSA-2xc6-348p-c2x6
- sylius/sylius (Packagist) Vendor— Affected 2.2.0 to before 2.2.3 Fixed in 2.2.3 Patch available GHSA-2xc6-348p-c2x6
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-2xc6-348p-c2x6 sylius/sylius (Packagist) Fixed in 2.0.16 Advisory →
- Fix · GHSA-2xc6-348p-c2x6 sylius/sylius (Packagist) Fixed in 2.1.12 Advisory →
- Fix · GHSA-2xc6-348p-c2x6 sylius/sylius (Packagist) Fixed in 2.2.3 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-31820
- 2026-10-03 Alias added: GHSA-2xc6-348p-c2x6
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-31820 · CVE Program
- CVE-2026-31820 · NVD
- FIRST EPSS
- GHSA-2xc6-348p-c2x6 · 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