Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain valid single-use coupon code
-
ExploitSubmit concurrent checkout requests to onepage endpoint
-
ExecutionWin race before times_used is locked/incremented
-
ImpactRedeem coupon across multiple orders for repeated discounts
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V15 - Secure Coding and Architecture Concurrency control, locking
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that the target store has an active single-use or usage-limited coupon (one with a usage_limit or usage_per_customer constraint) that the attacker can validly apply, and that the attacker can send multiple concurrent order-placement requests to the onepage checkout endpoint. The flaw is the non-atomic manageCartRule() flow: the times_used check and increment were not protected by row-level locking, so simultaneous transactions each read a stale (unlocked) count and all pass validation. Limiting factors that reduce real-world risk: exploitation is probabilistic and depends on winning the race window (reflected as AC:H/AT:P), it only abuses discount/coupon accounting rather than compromising data or availability, and it is fixed in Bagisto 2.3.16 and 2.4.1 - updating is the vendor-provided remedy. |
| Impact | This is a genuine but moderate-priority issue, not a critical one. The CVSS 4.0 score is 6.3 (Medium) and the vector tells a consistent story: AV:N/PR:N/UI:N makes it remotely reachable by an unauthenticated attacker, but AC:H combined with AT:P reflects that exploitation depends on winning a timing window (a classic TOCTOU race per CWE-362), which is not deterministic. The impact is deliberately narrow - VC:N/VI:L/VA:N - meaning no confidentiality or availability loss and only a low integrity effect: an attacker can corrupt coupon-usage accounting to redeem single-use coupons repeatedly. In practical terms this is financial/discount fraud against the merchant, not system compromise or data theft. No EPSS score and no KEV status were supplied in the input, so widespread or automated exploitation cannot be asserted; the vuln.today decision label is 'this_month' (not act_now/emergency), consistent with a real-but-bounded risk. A public PoC reference (a GitHub gist) exists but is not verified as working exploit code, so demonstrated exploitability should be treated as plausible rather than proven. Signals are internally consistent: there is no CVSS-versus-description conflict here, and the source diff corroborates the race-condition mechanism directly. Net assessment: patch within a normal maintenance window, prioritizing stores that actively run single-use or limited-use coupon promotions. |
| Exploit ScenarioDerived | A customer on a Bagisto store obtains a valid single-use (or limited-use) discount coupon and, instead of checking out once, fires many simultaneous order requests at the onepage checkout endpoint. Because coupon validation and the times_used increment were not atomic, several of these concurrent orders each pass the usage check before any of them records consumption, so the same coupon applies its discount to multiple orders. A public PoC reference (a gist) exists but is not verified as working exploit code, and success depends on winning the timing race (AC:H/AT:P). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Nov 03, 2026
Concurrent order requests to Bagisto's onepage checkout can redeem a single-use or usage-limited coupon multiple times, allowing an attacker to apply the same discount across multiple orders. The issue affects Bagisto before 2.3.16 and 2.4.x before 2.4.1 and stems from a race condition in manageCartRule(); impact is limited to coupon accounting and discount integrity, with no confidentiality or availability impact. A public PoC reference exists but is not verified as working exploit code, and there is no confirmed active exploitation (CISA KEV).
RemediationAI
Upgrade Bagisto to 2.3.16 or 2.4.1, the vendor-released fixed versions; these releases are linked at https://github.com/bagisto/bagisto/releases/tag/v2.3.16 and https://github.com/bagisto/bagisto/releases/tag/v2.4.1. The fix is implemented by commits 81cb2a2a35b355492f704fd216d679f2145a5650 and 1f57c10eb9cb61b37de4706ffa439fd26aa7c405, which add row-level locking and atomic coupon usage accounting in manageCartRule(). The available sources identify updating as the vendor-provided remedy and do not describe a complete alternative mitigation; after upgrading, verify that usage-limited coupons enforce both global and per-customer limits under concurrent checkout.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Bagisto is a PHP/Laravel e-commerce platform whose CartRule listener records coupon and cart-rule usage after order placement. CVE-2026-121628 is CWE-362: in packages/Webkul/CartRule/src/Listeners/Order.php, the pre-patch manageCartRule() flow read times_used and usage counters without row-level locking, so concurrent checkout transactions could each observe an unused coupon and both proceed. The trigger requires an active usage-limited coupon that the attacker can validly apply and multiple simultaneous requests to the onepage orders endpoint; the race is probabilistic, reflected by AC:H/AT:P in the assessed vector. The fix wraps validation and consumption in the order transaction, uses lockForUpdate() on coupon and usage records, increments counters atomically, and throws CouponUsageLimitExceededException to roll back the losing order. CPE cpe:2.3:a:bagisto:bagisto:*:*:*:*:*:*:*:* identifies Bagisto as the affected product.
Know when Bagisto gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
Remote unauthenticated checkout endpoint (AV:N/PR:N/UI:N); success requires winning a concurrency race so AC:H; only coupon-usage accounting integrity is affected (I:L), with no confidentiality or availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Bagisto before 2.3.16 and 2.4.x before 2.4.1 contains a race condition vulnerability in manageCartRule() that allows attackers to redeem single-use coupons multiple times. Attackers can submit concurrent order requests to the onepage orders checkout endpoint, bypassing unlocked times_used checks to apply discounts repeatedly.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Race conditions occur when multiple concurrent requests exploit the brief time gap between checking a condition and acting upon it (TOCTOU - Time of Check, Time of Use).
Bagisto eCommerce platform before 2.3.10 is vulnerable to server-side template injection (SSTI) through customer address
Bagisto eCommerce platform (2.3 branch before 2.3.10) leaves installation API routes active after setup, allowing unauth
Bagisto eCommerce platform versions before 2.3.10 suffer from server-side template injection through user-controllable f
Bagisto v1.5.1 is vulnerable to Server-Side Template Injection (SSTI). Rated high severity (CVSS 8.8), this vulnerabilit
In Webkul Bagisto before 0.1.5, the functionalities for customers to change their own values (such as address, review, o
Bagisto 0.1.5 allows CSRF under /admin URIs. Rated high severity (CVSS 8.8), this vulnerability is remotely exploitable,
Arbitrary file read in Bagisto v2.4.1 allows unauthenticated remote attackers to retrieve sensitive files outside the we
Stored XSS in Bagisto's CMS page editor allows authenticated attackers to bypass input sanitization by crafting maliciou
Bagisto is an open source laravel eCommerce platform. [CVSS 7.1 HIGH]
CSV formula injection in Bagisto through 2.3.7 allows a user who can create or edit product data to store spreadsheet fo
Server-side template injection in Bagisto 2.3.7 lets an authenticated backend user with product-creation privileges inje
Bagisto v1.5.1 is vulnerable for Cross site scripting(XSS) via png file upload vulnerability in product review option. R
EUVD-2026-116103
NVD
CVE.org
GitHub
Exploit-DB