Summary
CVE-2026-100869 is an incorrect-authorization vulnerability in the Sylius e-commerce platform’s Shop API. The POST /api/v2/shop/orders/{tokenValue}/payment-requests endpoint fails to restrict which payment request actions a customer may submit, allowing a customer who holds a valid order token to trigger unauthorized payment actions — such as refunds — on their own completed orders. The issue is rated HIGH severity under CVSS v4.0 (8.2) and MEDIUM under CVSS v3.1 (5.9), and can cause direct financial loss to merchants.
Technical details
- Root cause: The Shop API payment-requests endpoint validates only that the requester owns the order (via the order token) but does not restrict or authorize the specific payment "action" value being submitted, per CWE-863 (Incorrect Authorization).
- Trigger conditions: The Shop API must be enabled and reachable, the order must already be completed/paid, and the store’s configured payment gateway must implement a refund-class (or similarly sensitive) payment action that the API can invoke.
- Attack vector: Network-based; an attacker only needs a valid order token (obtainable as the legitimate customer of that order) to submit arbitrary payment action requests — no elevated privileges or user interaction beyond that are required.
- Impact: Attackers can cause the configured payment gateway to execute actions like refunds while Sylius continues to record the order internally as paid, producing a mismatch that results in financial loss to the merchant. The impact is limited to integrity (order/payment state); confidentiality and availability are not affected.
Affected software
- Sylius/Sylius (sylius/sylius on Packagist): versions 2.0.0 up to but not including 2.1.16
- Sylius/Sylius: versions 2.2.0 up to but not including 2.2.9
Severity
- CVSS v3.1 Base Score: 5.9 (Medium) —
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N - CVSS v4.0 Base Score: 8.2 (High) —
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N - CWE-863: Incorrect Authorization
Mitigation and recommended actions
- Immediate: Upgrade to Sylius 2.1.16 or 2.2.9 (or later), which restrict the payment request actions permitted through the Shop API endpoint.
- If no patch can be applied immediately: Restrict or disable public exposure of the Shop API’s payment-requests endpoint where not required, review configured payment gateways for refund-class actions reachable via this endpoint, and monitor for unexpected refund or payment-state-change activity on completed orders as a compensating control until the upgrade is applied.

