Time-of-check Time-of-use (TOCTOU) Race Condition Affecting sylius/sylius package, versions <1.9.12>=1.10.0-alpha.1, <1.10.16>=1.11.0-alpha.1, <1.11.17>=1.12.0-alpha.1, <1.12.23>=1.13.0-alpha.1, <1.13.15>=1.14.0-alpha.1, <1.14.18>=2.0.0-alpha.1, <2.0.16>=2.1.0, <2.1.12>=2.2.0, <2.2.3


Severity

Recommended
0.0
high
0
10

CVSS assessment by Snyk's Security Team. Learn more

Threat Intelligence

EPSS
0.18% (8th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-PHP-SYLIUSSYLIUS-15460798
  • published11 Mar 2026
  • disclosed11 Mar 2026
  • creditwhiteov3rflow, Bartlomiej Nowinski

Introduced: 11 Mar 2026

CVE-2026-31824  (opens in a new tab)
CWE-362  (opens in a new tab)
CWE-367  (opens in a new tab)

How to fix?

Upgrade sylius/sylius to version 1.9.12, 1.10.16, 1.11.17, 1.12.23, 1.13.15, 1.14.18, 2.0.16, 2.1.12, 2.2.3 or higher.

Overview

sylius/sylius is a platform for PHP, based on Symfony framework.

Affected versions of this package are vulnerable to Time-of-check Time-of-use (TOCTOU) Race Condition through a race condition in the promotion and coupon usage limit enforcement process. An attacker can redeem limited-use promotions or coupons multiple times by sending concurrent requests that bypass usage restrictions. No authentication is required to exploit this issue, which may result in financial loss due to unlimited redemption of discounts.

Workaround

This vulnerability can be mitigated by decorating the OrderPromotionsUsageModifier service to use atomic operations based on actual database-synchronized values, as described in the advisory.

CVSS Base Scores

version 4.0
version 3.1