Перейти к содержимому
Noroxi
NVD / CVE Program· CNA GitHub_M

CVE-2026-31824: Sylius has a Promotion Usage Limit Bypass via Race Condition

СредняяCVSS 5.9 · v3.1—Эксплойта нет Есть исправление

Оценка Noroxi

Приоритет: Наблюдать (оценка срочности 23/100)

  • В отслеживаемых источниках (CISA KEV, Exploit-DB, Metasploit, Nuclei, GitHub) нет публичного эксплойта или записей об эксплуатации.
  • Вероятность эксплуатации в ближайшие 30 дней: 0,20% (FIRST EPSS).
  • Может быть вызвана любым, у кого есть доступ через интернет. Учётная запись или пароль не требуются. Действия пользователя не требуются. Требуются особые условия, например определённое время или конфигурация.
  • По данным CISA атаку можно автоматизировать: цели находятся массовым сканированием.
  • Исправленная версия: sylius/sylius (Packagist) 1.10.16, 1.11.17, 1.12.23.
  • Критичность спорная: CNA оценивает в 8.2, NVD — в 5.9.

Пока низкий приоритет. Обновитесь до sylius/sylius (Packagist) 1.10.16, 1.11.17, 1.12.23 или новее.

Формируется автоматически по данным записи: CVSS (NVD и CNA), CISA KEV и SSVC, FIRST EPSS, источники эксплойтов, исправленные версии. Как мы считаем

Первоисточники: NVD · CVE.org · FIRST EPSS

Sylius is an Open Source eCommerce Framework on Symfony. A Time-of-Check To Time-of-Use (TOCTOU) race condition was discovered in the promotion usage limit enforcement. The same class of vulnerability affects the promotion usage limit (the global used counter on Promotion entities), coupon usage limit (the global used counter on PromotionCoupon entities), and coupon per-customer usage limit (the per-customer redemption count on PromotionCoupon entities). In all three cases, the eligibility check reads the used counter (or order count) from an in-memory Doctrine entity during validation, while the actual usage increment in OrderPromotionsUsageModifier happens later during order completion — with no database-level locking or atomic operations between the two phases. Because Doctrine flushes an absolute value (SET used = 1) rather than an atomic increment (SET used = used + 1), and because the affected entities lack optimistic locking, concurrent requests all read the same stale usage counts and pass the eligibility checks simultaneously. An attacker can exploit this by preparing multiple carts with the same limited-use promotion or coupon and firing simultaneous PATCH /api/v2/shop/orders/{token}/complete requests. All requests pass the usage limit checks and complete successfully, allowing a single-use promotion or coupon to be redeemed an arbitrary number of times. The per-customer limit can be bypassed in the same way by a single customer completing multiple orders concurrently. No authentication is required to exploit this vulnerability. This may lead to direct financial loss through unlimited redemption of limited-use promotions and discount coupons. The issue is fixed in versions: 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 and above.

Опубликовано
10 мар. 2026 г.
Обновлено
17 июн. 2026 г.
EPSS
0,2 % · 10-й процентиль

Инструменты для отчёта

JSON

Оценка срочности

23

Наблюдать

Пока низкий приоритет.

CVSS
23 / 40 · 5.9 / 10
CISA KEV
0 / 30 · Нет в списке
EPSS
0 / 30 · 0,2 %

Решение CISA SSVC

Эксплуатация
нет
Автоматизируемо
да
Техническое влияние
частичное

Vulnrichment: входные данные дерева решений CISA.

Оценка CNA и NVD

NVD
5,9
CNA · GitHub_M
8,2
разница 2,3 балла

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:L

Оценка присваивающего органа и независимая оценка NVD. Разрыв означает, что критичность спорна.

Узнайте, когда запись изменится

  • Нет в KEV: эксплуатация в реальных атаках не зафиксирована
  • Публичного эксплойта нет
  • Исправление выпущено

Если что-то из этого изменится, сообщим в ежедневной сводке.

Следить за CVE-2026-31824

Когда мы напишем

  • когда запись попадёт в CISA KEV
  • когда появится или станет боевым эксплойт
  • когда запись обновится (в том числе исправленная версия)
  • когда EPSS вырастет на 20 пунктов за неделю

Одна сводка в день по почте (06:00 UTC); с вебхуком попадание в KEV и боевые эксплойты — на платных планах раз в 10 минут, на бесплатном раз в час.

С бесплатным аккаунтом также

  • Оповещения о CVE: добавьте свои продукты и версии — новые CVE для них придут вам
  • Мониторинг сайта: 1 сайт, письмо сразу при недоступности
  • Добавьте домен: поддомены и риск захвата проверяются каждую неделю (1 домен)
  • 10 проверок в час в инструментах безопасности, не больше 30 в день (без аккаунта — 3 в день), API-ключ и MCP
  • Все сканирования в одной панели: находки, изменения с прошлого сканирования, отчёт по домену или клиенту (PDF, ссылка для просмотра)
Все бесплатные инструменты

Регистрация по почте · Уже есть аккаунт? Войти

Бесплатный аккаунт, без карты. Отписаться можно в любой момент.

Затронута ли ваша версия? Проверьте

Анализ Noroxi

Что это значит для вашей инфраструктуры?

Оценка выше формируется автоматически по данным записи и не знает вашей среды. Наша команда проверит на ваших системах, действительно ли уязвимость эксплуатируема и какой меры достаточно.

Мы используем этот продукт, нужна помощь

Затронутые системы

Затронута ли ваша версия?

Выберите продукт и введите свою версию. Она сравнивается с диапазонами этой записи прямо в браузере и никуда не отправляется.

ВендорПродукт
syliussylius

Версии, заявленные вендором

Диапазоны затронутых версий, заявленные назначающей организацией (GitHub_M). Не зависят от анализа CPE в NVD и обычно опережают его.

  • Sylius Sylius

    • >= 2.2.0, < 2.2.3, >= 2.1.0, < 2.1.12, >= 2.0.0, < 2.0.16, >= 1.14.0, < 1.14.18, >= 1.13.0, < 1.13.15, >= 1.12.0, < 1.12.23, >= 1.11.0, < 1.11.17, >= 1.10.0, < 1.10.16, < 1.9.12затронута

Затронутые пакеты

Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.

ЭкосистемаПакетЗатронутый диапазонИсправление
Packagistsylius/syliusс 1.10.0 · до 1.10.161.10.16
Packagistsylius/syliusс 1.11.0 · до 1.11.171.11.17
Packagistsylius/syliusс 1.12.0 · до 1.12.231.12.23
Packagistsylius/syliusс 1.13.0 · до 1.13.151.13.15
Packagistsylius/syliusс 1.14.0 · до 1.14.181.14.18
Packagistsylius/syliusс 2.0.0 · до 2.0.162.0.16
Packagistsylius/syliusс 2.1.0 · до 2.1.122.1.12
Packagistsylius/syliusс 2.2.0 · до 2.2.32.2.3
Packagistsylius/syliusдо 1.9.121.9.12

Тот же продукт

sylius: все записи

Другие записи с наивысшей оценкой для того же основного продукта.

  • CVE-2026-100872Sylius 2.x before 2.1.16 and 2.2.9 Payment Amount Overwrite
    34Наблюдать
  • CVE-2026-100871Sylius before 1.12.25, 1.13.17, 1.14.20, 2.1.16, and 2.2.9 JWT Audience Confusion Allows Admin API Authentication
    34Наблюдать
  • CVE-2026-100870Sylius before 1.12.25, 1.13.17, 1.14.20, 2.1.16, and 2.2.9 Admin Password Reset Poisoning via Host Header
    34Наблюдать

Опубликованы до и после этой записи в том же продукте

  • ← РаньшеCVE-2026-3182210 мар. 2026 г. · Sylius has a XSS vulnerability in checkout login form
    21Наблюдать
  • ← РаньшеCVE-2026-3182310 мар. 2026 г. · Sylius has Authenticated Stored XSS
    19Наблюдать
  • Позже →CVE-2026-3182510 мар. 2026 г. · Sylius has a DQL Injection via API Order Filters
    21Наблюдать

Исправление

На какую версию обновиться

Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.

Продукт / пакетИсправленная версияИсточник
Packagist:sylius/sylius1.10.16Реестр пакетов (OSV)
Packagist:sylius/sylius1.11.17Реестр пакетов (OSV)
Packagist:sylius/sylius1.12.23Реестр пакетов (OSV)
Packagist:sylius/sylius1.13.15Реестр пакетов (OSV)
Packagist:sylius/sylius1.14.18Реестр пакетов (OSV)
Packagist:sylius/sylius1.9.12Реестр пакетов (OSV)
Packagist:sylius/sylius2.0.16Реестр пакетов (OSV)
Packagist:sylius/sylius2.1.12Реестр пакетов (OSV)
Packagist:sylius/sylius2.2.3Реестр пакетов (OSV)

Статус эксплойта

Публичный эксплойт неизвестен

Публичный эксплойт пока не обнаружен. Это не значит, что вы в безопасности, лишь что порог чуть выше.

Контекст для исследователя

Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.

Хронология

От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.

Кроме публикации датированных событий нет.

В записи нет: истории EPSS · ссылки на коммит или PR с исправлением · указания авторов находки · кандидатов в варианты и цепочки · публичной программы вознаграждений.

Технические детали

Условия атаки

  • Может быть вызвана любым, у кого есть доступ через интернет.
  • Учётная запись или пароль не требуются.
  • Действия пользователя не требуются.
  • Требуются особые условия, например определённое время или конфигурация.

В случае успеха

Конфиденциальность
нет
Целостность
высокое · данные или конфигурация могут быть изменены
Доступность
нет
Вектор атаки
Сеть
Сложность атаки
Высокая
Требуемые привилегии
Не требуются
Взаимодействие с пользователем
Не требуется
Область действия
Не изменяется
Влияние на конфиденциальность
Нет
Влияние на целостность
Высокое
Влияние на доступность
Нет

Вектор CVSS

CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N

nvd-primary

Контекст атаки

Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.

Источники

Рекомендации вендоров и официальные записи. Ссылки на эксплойты/PoC намеренно исключены.

Все записи