CVE-2026-47741

Source
https://cve.org/CVERecord?id=CVE-2026-47741
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-47741.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-47741
Aliases
Published
2026-05-29T18:02:13.168Z
Modified
2026-07-08T08:12:34.932074517Z
Severity
  • 5.9 (Medium) CVSS_V3 - CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N CVSS Calculator
Summary
Shopper: Race condition on Discount.usage_limit allows silent over-redemption
Details

Shopper is a Headless e-commerce Admin Panel. Prior to 2.8.0, CreateOrderFromCartAction::execute previously created the Order row before checking and incrementing the discount's totaluse counter. Under concurrent checkout pressure (Black Friday, flash sale, viral coupon), the global usagelimit was silently exceeded: orders were committed with the discount fully applied to priceamount while the counter blocked at usagelimit. The merchant had no signal that an over-redemption had occurred. This vulnerability is fixed in 2.8.0.

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/47xxx/CVE-2026-47741.json",
    "cna_assigner": "GitHub_M",
    "cwe_ids": [
        "CWE-362"
    ]
}
References

Affected packages

Git / github.com/shopperlabs/shopper

Affected ranges

Type
GIT
Repo
https://github.com/shopperlabs/shopper
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Database specific
{
    "source": "AFFECTED_FIELD",
    "extracted_events": [
        {
            "introduced": "0"
        },
        {
            "fixed": "2.8.0"
        }
    ]
}

Affected versions

V1.*
V1.0.4
v0.*
v0.0.1
v0.0.10
v0.0.11
v0.0.12
v0.0.13
v0.0.14
v0.0.15
v0.0.16
v0.0.17
v0.0.18
v0.0.19
v0.0.2
v0.0.20
v0.0.21
v0.0.22
v0.0.23
v0.0.24
v0.0.25
v0.0.26
v0.0.3
v0.0.4
v0.0.5
v0.0.6
v0.0.7
v0.0.8
v0.0.9
v1.*
v1.0
v1.0.1
v1.0.2
v1.0.3
v1.0.4
v1.0.5
v1.0.6
v1.0.7
v1.0.8
v1.0.9
v1.1
v1.1.1
v1.1.2
v2.*
v2.0.0
v2.0.0-beta
v2.0.0-beta10
v2.0.0-beta11
v2.0.0-beta12
v2.0.0-beta13
v2.0.0-beta14
v2.0.0-beta15
v2.0.0-beta16
v2.0.0-beta17
v2.0.0-beta18
v2.0.0-beta19
v2.0.0-beta2
v2.0.0-beta20
v2.0.0-beta21
v2.0.0-beta3
v2.0.0-beta4
v2.0.0-beta5
v2.0.0-beta6
v2.0.0-beta7
v2.0.0-beta8
v2.0.0-beta9
v2.0.1
v2.0.2
v2.0.3
v2.1
v2.1.1
v2.1.2
v2.1.3
v2.1.4
v2.1.5
v2.1.6
v2.2
v2.2.1
v2.2.2
v2.2.3
v2.2.4
v2.2.5
v2.2.6
v2.2.7
v2.3
v2.3.1
v2.3.2
v2.3.3
v2.4.0
v2.4.1
v2.4.2
v2.4.3
v2.5.0
v2.6.0
v2.6.1
v2.6.2
v2.6.3
v2.6.4
v2.7.0
v2.7.1
v2.7.2
v2.7.3

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-47741.json"