Summary
CVE-2026-100872 is a payment/order-integrity vulnerability in Sylius, the open-source e-commerce platform, caused by insufficient verification of payment amounts during cart recalculation. Unauthenticated attackers can pay a small amount through a payment gateway and then inflate the order total afterward, causing Sylius to mark the larger order as fully paid even though the gateway only captured the original, smaller amount. The issue is rated HIGH severity (CVSS 8.7).
Technical details
- Root cause: Sylius fails to validate that the amount confirmed by the payment gateway matches the current order/payment total when a cart is recalculated after a gateway transaction has already been initiated (CWE-345, Insufficient Verification of Data Authenticity).
- Trigger conditions: A guest or customer initiates checkout on a Sylius 2.x store using a capture-capable Payum gateway and the Payment Request API, starts a gateway capture for a low-value cart, and then triggers a cart recalculation that overwrites the existing local payment record with an enlarged order total.
- Attack vector: Network-based, low attack complexity, no privileges required, no user interaction beyond normal checkout steps — exploitable by any unauthenticated visitor able to reach the storefront checkout flow.
- Impact: Sylius completes the rewritten, higher-value payment without re-verifying the amount actually captured by the gateway, allowing the attacker to obtain goods/services priced above what was actually paid (underpayment/order-total fraud). Confidentiality and system availability are not affected; the impact is limited to payment/order integrity.
Affected software
- Sylius (sylius/sylius Composer package) versions 2.0.0 through 2.1.15
- Sylius (sylius/sylius Composer package) versions 2.2.0 through 2.2.8
Severity
- CVSS v3.1 Base Score: 7.5 (HIGH) —
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - CVSS v4.0 Score: 8.7 (HIGH) —
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
Mitigation and recommended actions
- Immediate: Upgrade Sylius to version 2.1.16 or 2.2.9 (or later), which prevent claimed payments from being rewritten or removed after a gateway capture has been confirmed.
- If no patch: Where upgrading is not immediately possible, closely monitor and reconcile completed orders against actual amounts captured by the payment gateway, and consider disabling or restricting cart recalculation after a payment capture has been initiated until the patch can be applied.

