JVNDB-2026-006935 | |
Syliusにおける複数の脆弱性 | |
| 概要 | |
SyliusはSymfony上のオープンソースeコマースフレームワークです。プロモーションの使用制限の適用において、TOCTOU(Time-of-Check To Time-of-Use)レースコンディションが発見されました。同様の脆弱性は、プロモーション使用制限(Promotionエンティティのグローバル使用カウンター)、クーポン使用制限(PromotionCouponエンティティのグローバル使用カウンター)、およびクーポンの顧客ごとの使用制限(PromotionCouponエンティティの顧客別引き換え回数)に影響します。これら3つの場合すべてにおいて、適格性のチェックはバリデーション時にメモリ内のDoctrineエンティティから使用カウンター(または注文カウント)を読み取りますが、実際の使用増分は注文完了時にOrderPromotionsUsageModifierで行われます。しかし、両フェーズ間にデータベースレベルのロックや原子操作は存在しません。Doctrineは絶対値(SET used = 1)をフラッシュし、原子増分(SET used = used + 1)ではなく、対象のエンティティには楽観的ロックもないため、同時実行リクエストは同じ古い使用回数を読み取り、適格性チェックを同時に通過してしまいます。攻撃者は、同一の制限付きプロモーションやクーポンを複数のカートに準備し、PATCH /api/v2/shop/orders/{token}/completeリクエストを同時に複数発行することでこれを悪用可能です。すべてのリクエストが使用制限チェックを通過して正常に完了するため、単一使用のプロモーションやクーポンが任意回数引き換えられてしまいます。顧客ごとの制限も、単一顧客が複数の注文を同時に完了させることで同様に回避可能です。この脆弱性を悪用するのに認証は不要です。結果として、制限付きプロモーションや割引クーポンが無制限に引き換えられ、直接的な金銭的損失を招く可能性があります。この問題はバージョン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以降で修正されています。 | |
| CVSS による深刻度 (CVSS とは?) | |
|
CVSS v3 による深刻度
基本値: 5.9 (警告) [NVD値]
| |
| 影響を受けるシステム | |
|
| |
Sylius | |
本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。 | |
| 想定される影響 | |
当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 | |
| 対策 | |
正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
GitHub | |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
|
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2026/03/10 |
| 登録日 | 2026/03/16 |
| 最終更新日 | 2026/03/16 |



