Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach public shop API endpoint
-
ExploitRequest product-review item by id
-
ExecutionEnumerate sequential review ids
-
ImpactHarvest unmoderated reviews and author first names
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
|
| Exploitation Conditions | No special conditions - remote unauthenticated exploitation against default configurations of Sylius where the shop REST API (/api/v2/shop) is exposed, which is standard for storefront deployments. The only prerequisite is network reachability of the shop API endpoint. Limiting factors that bound real-world impact: the flaw is read-only and leaks only low-sensitivity data (review titles, ratings, comments, timestamps, author first names), it does not expose full identities, credentials, or order/payment data, and it does not permit any modification; exposure also assumes the product-review resource exists and IDs are predictably sequential for enumeration. |
| Impact | This is a genuine but moderate-priority issue, not a top-tier emergency. The supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N, base 6.9) is internally consistent with the description: remote, unauthenticated, low-complexity access to the shop REST API, with only limited confidentiality impact and zero integrity/availability impact. My independent CVSS 3.1 assessment lands at ~5.3 (C:L only), reinforcing that this is an information-disclosure flaw, not a code-execution or data-tampering flaw. Exploitation is trivial - sequential ID enumeration on a public endpoint - and a detailed public technical write-up (hackmd) plus the exact vulnerable source file (AcceptedExtension.php) are referenced, which materially lowers the barrier to exploitation even though no packaged weaponized exploit is cited. No EPSS score and no KEV status were provided in the input, so probabilistic exploitation likelihood and confirmed in-the-wild use cannot be asserted; absence here is unknown, not zero. Weighing the signals: trivial exploitability and public method detail push risk up, while the strictly read-only, low-sensitivity data exposure (review text and author first names) and lack of any confirmed active exploitation keep real-world severity bounded. Treat as a prompt-but-scheduled patch, prioritized higher for merchants whose shop API is internet-facing and who rely on review moderation for brand/compliance reasons. |
| Exploit ScenarioDerived | An unauthenticated attacker scripts iterative GET requests to /api/v2/shop/product-reviews/{id}, walking sequential numeric IDs. Because the AcceptedExtension moderation filter is not applied to the item operation, the API returns reviews that merchants intentionally hid or rejected, letting the attacker harvest review titles, ratings, comments, timestamps and author first names. A public hackmd write-up documents the exact enumeration technique, so no special tooling is needed. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 11, 2026
Unauthenticated remote attackers can read unmoderated and rejected product reviews on Sylius storefronts through 2.3.0 because the AcceptedExtension Doctrine filter is applied to review collection queries but not to the single-item operation, allowing sequential IDs to be enumerated against GET /api/v2/shop/product-reviews/{id}. The exposure is read-only and limited to low-sensitivity fields - review title, rating, comment, timestamp and author first name - so the practical impact is a moderation/authorization bypass plus minor privacy disclosure rather than credential, order or payment compromise; no public exploit identified at time of analysis. Sylius ships this endpoint as part of the standard shop REST API (/api/v2/shop), which is exposed by default on typical storefront deployments; CVSS 6.9 (v4.0) reflects the confidentiality-only scope, while our own assessment scores it 5.3 under CVSS 3.1 - a genuine but moderate-priority issue, not a top-tier emergency.
RemediationAI
No vendor-released patch identified at time of analysis; the advisory references only upstream source repositories rather than a fixed release, so confirm the current Sylius release notes before assuming any version is corrected. The most direct code-level fix is to extend the API Platform extension registration (src/Sylius/Bundle/ApiBundle/Resources/config/services/extensions.php) so the ProductReview AcceptedExtension applies to the item operation as well as the collection, or to replace the numeric id lookup in the item data provider with an explicit check that the requested review is accepted; this restores parity between the list and detail endpoints at the cost of requiring a custom (or forked) bundle until upstream ships a fix. Until then, effective compensating controls are: block or restrict unauthenticated access to GET /api/v2/shop/product-reviews/{id} at the reverse proxy or WAF while leaving the collection endpoint untouched (side effect: storefront pages that render a single review by ID will fail, so test against your theme/templates first); require authentication or a signed token for review retrieval (side effect: breaks guest browsing of reviews); and add per-IP rate limiting and alerting on /api/v2/shop/product-reviews/* to blunt sequential ID enumeration (side effect: high-traffic storefronts may see false positives). Longer-term hardening is to migrate review identifiers from sequential integers to ULIDs/UUIDs so keys are not guessable, and to add regression tests that assert rejected reviews are unreachable from every route that exposes the resource. Because the issue is read-only and the leaked fields are low sensitivity (title, rating, comment, timestamp, author first name), remediation can be scheduled as a moderate-priority change rather than an emergency hotfix.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Sylius is a Symfony-based e-commerce platform whose headless shop API is built on API Platform atop Doctrine ORM. Moderation of product reviews is enforced by a Doctrine QueryExtension, AcceptedExtension (src/Sylius/Bundle/ApiBundle/Doctrine/ORM/QueryExtension/Shop/ProductReview/AcceptedExtension.php, lines 25-59), which adds a WHERE clause restricting results to accepted reviews. The flaw class is CWE-639 (Authorization Bypass Through User-Controlled Key) - a textbook IDOR: the extension is registered only against certain resource operations in the API bundle's extension configuration (Resources/config/services/extensions.php, lines 63-67), and that wiring omits the item operation, so the filter that guards review listings is never applied when a single review is fetched by its key. The result is inconsistent authorization between the collection and item representations of the same resource: the list endpoint hides rejected/unmoderated reviews, the item endpoint returns them. Because Sylius uses auto-increment integer identifiers for reviews and the item route is publicly reachable, the attacker-controlled key (the {id} path segment) is both guessable and unbounded, defeating the intended access control. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N, VC:L with no integrity or availability impact) confirms a low-complexity, network-reachable, unauthenticated information disclosure; the CPE cpe:2.3:a:sylius:sylius:*:*:*:*:*:*:*:* indicates all Sylius versions through 2.3.0 are in scope, and there is no indication that a non-default configuration or elevated privilege is required - only default exposure of the shop API.
Know when Sylius gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Remote unauthenticated REST API access (AV:N/AC:L/PR:N/UI:N) with read-only disclosure of limited low-sensitivity review data gives C:L, I:N, A:N and no scope change.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Sylius through 2.3.0 contains an authorization bypass vulnerability that allows unauthenticated attackers to read unmoderated and rejected product reviews because the AcceptedExtension filter is not applied to the item operation. Attackers can enumerate sequential ids on GET /api/v2/shop/product-reviews/{id} to retrieve review titles, ratings, comments, timestamps and author first names, bypassing merchant moderation.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
A rate limiting issue in Sylius v2.0.2 allows a remote attacker to perform unrestricted brute-force attacks on user acco
In SyliusResourceBundle before versions 1.3.14, 1.4.7, 1.5.2 and 1.6.4, request parameters injected inside an expression
In SyliusResourceBundle before versions 1.3.14, 1.4.7, 1.5.2 and 1.6.4, rrequest parameters injected inside an expressio
Sylius is an open source eCommerce platform. Rated high severity (CVSS 8.2), this vulnerability is remotely exploitable,
Sylius 1.12.13 is vulnerable to Cross Site Scripting (XSS) via the "Province" field in Address Book. Rated medium severi
Sylius is an open source eCommerce platform. Rated medium severity (CVSS 6.1), this vulnerability is remotely exploitabl
SyliusGridBundle is a package of generic data grids for Symfony applications. Rated critical severity (CVSS 9.8), this v
Sylius eCommerce Framework is vulnerable to a race condition in promotion and coupon usage limit enforcement, where conc
Payment-authorization bypass in the Sylius Mollie Plugin (versions before 2.2.8, 3.2.4, and 3.3.1) lets an unauthenticat
sylius/paypal-plugin is a paypal plugin for the Sylius development platform. Rated high severity (CVSS 7.5), this vulner
Sequential integer order ID enumeration in Sylius MolliePlugin exposes customer PII across all orders without authentica
Authenticated users in Sylius eCommerce can access sensitive customer data belonging to other users through unvalidated
EUVD-2026-96890
GHSA-8cf2-xcwc-ppqc
NVD
CVE.org
EPSS
Exploit-DB