Paymenter: Credit-refund double-spend race condition in service downgrade (doUpgrade)
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Paymenter | Paymenter | affected |
|
No data.
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Paymenter | Paymenter |
|
| Source | ID | Title |
|---|---|---|
Github GHSA |
GHSA-5gmm-hjfj-8ff7 | Paymenter has a credit-refund double-spend race condition in service downgrade (doUpgrade) |
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.325% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Paymenter
Paymenter paymenter |
|
| Vendors & Products |
Paymenter
Paymenter paymenter |
| Type | Values Removed | Values Added |
|---|---|---|
| Description | Paymenter is a free and open-source webshop solution for management of hosting services. Prior to 1.5.7, app/Livewire/Services/Upgrade.php::doUpgrade() relies on Service::upgradable to check for a pending service upgrade and later executes $credit->increment('amount', abs($price)) without DB::transaction or lockForUpdate() spanning those operations. An authenticated customer with an active downgradable service can submit concurrent downgrade requests that each observe no pending upgrade, create separate upgrade records, and increment the same account credit balance, producing multiple spendable refunds for one downgrade. This issue is fixed in version 1.5.7. | |
| Title | Paymenter: Credit-refund double-spend race condition in service downgrade (doUpgrade) | |
| Weaknesses | CWE-362 | |
| References |
| |
| Metrics |
cvssV3_1
|