---
id: CVE-2026-121628
title: >-
  Bagisto before 2.3.16 and 2.4.x before 2.4.1 Race Condition in Coupon Usage
  Accounting
summary: >-
  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 ord…
severity: low
cvss: 3.7
cvssVector: 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N'
cvssSource: cna
cwe:
  - CWE-362
vendor: bagisto
product: bagisto
affected:
  - bagisto < 2.3.16
  - bagisto >= 2.4.0 < 2.4.1
ssvc:
  exploitation: poc
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-11-03T22:38:09.792685Z'
exploitAvailable: true
published: '2026-11-03'
updated: '2026-11-03'
sourceUpdated: '2026-11-03T22:41:07.843Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-121628'
references:
  - url: >-
      https://github.com/bagisto/bagisto/commit/81cb2a2a35b355492f704fd216d679f2145a5650
  - url: >-
      https://github.com/bagisto/bagisto/commit/1f57c10eb9cb61b37de4706ffa439fd26aa7c405
    label: Patch Commit
  - url: 'https://github.com/bagisto/bagisto/releases/tag/v2.3.16'
    label: bagisto v2.3.16 Release Notes
  - url: 'https://github.com/bagisto/bagisto/releases/tag/v2.4.1'
    label: bagisto v2.4.1 Release Notes
  - url: 'https://gist.github.com/Ayxpp/5358d9fff045e94e0ddb51677ed5d195'
  - url: >-
      https://github.com/bagisto/bagisto/blob/v2.4.0/packages/Webkul/CartRule/src/Listeners/Order.php#L30-L95
  - url: 'https://github.com/bagisto/bagisto'
  - url: >-
      https://www.vulncheck.com/advisories/bagisto-before-2.3.16-and-2.4-x-before-2.4.1-race-condition-in-coupon-usage-accounting
    label: >-
      VulnCheck Advisory: Bagisto before 2.3.16 and 2.4.x before 2.4.1 Race
      Condition in Coupon Usage Accounting
tags:
  - cve.org
  - exploit-available
epss: 0.00273
epssPercentile: 0.19799
ingestedAt: '2026-11-05T20:33:06.605Z'
---

## Overview

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.

## Affected

- `bagisto < 2.3.16`
- `bagisto >= 2.4.0 < 2.4.1`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
