Description
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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Sylius | Sylius | ≤ 2.3.0 | — |
References
- https://hackmd.io/@haind/sylius-shop-product-review-item-moderation-bypass third-party-advisory
- https://github.com/Sylius/Sylius/blob/34fc73a9ee89e8cd3f11aa81d0b18ee91f25e8d7/src/Sylius/Bundle/ApiBundle/Doctrine/ORM/QueryExtension/Shop/ProductReview/AcceptedExtension.php#L25-L59 technical-description
- https://github.com/Sylius/Sylius/blob/34fc73a9ee89e8cd3f11aa81d0b18ee91f25e8d7/src/Sylius/Bundle/ApiBundle/Resources/config/services/extensions.php#L63-L67 technical-description
- https://github.com/Sylius/Sylius product
- VulnCheck Advisory: Sylius through 2.3.0 Authorization Bypass via Shop API Product-Review Endpoint third-party-advisory