漏洞信息
尽管我们使用了先进的大模型技术,但其输出仍可能包含不准确或过时的信息。神龙努力确保数据的准确性,但请您根据实际情况进行核实和判断。
Vulnerability Title
Paymenter: Race condition in payWithCredit() enables credit double-spend
Vulnerability Description
Paymenter is a free and open-source webshop solution for management of hosting services. In versions prior to 1.5.5, the credit payment implementation in app/Livewire/Invoices/Show.php executes a pessimistic row lock (lockForUpdate()) outside of an active database transaction. Because MySQL/MariaDB requires an enclosing transaction to enforce row-level locks, the guard is ineffective. Concurrent payment requests can exploit this race condition to read the same credit balance simultaneously, allowing users to pay multiple invoices using the same credit balance. In database systems like MySQL, a row lock only works inside a formal transaction; without one, the lock is completely ignored. Because there is no active lock, two payment requests sent at the exact same millisecond can look at the database at the same time. Both requests see the original credit balance, decide it is sufficient, and approve the payment. Because the payment processes successfully through ExtensionHelper::addPayment(), the application provisions the corresponding services or digital goods, resulting in direct financial or resource loss to the platform. This issue has been fixed in version 1.5.5.
CVSS Information
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N
Vulnerability Type
使用共享资源的并发执行不恰当同步问题(竞争条件)
Vulnerability Title
Paymenter 竞争条件问题漏洞
Vulnerability Description
Paymenter是Paymenter公司开源的一个网店托管软件。 Paymenter 1.5.5之前版本存在竞争条件问题漏洞,该漏洞源于credit payment实现在app/Livewire/Invoices/Show.php中在活动数据库事务外执行悲观行锁,导致竞态条件问题,并发付款请求可同时读取相同的信用余额,允许用户使用相同的信用余额支付多个发票,从而造成平台直接的经济或资源损失。
CVSS Information
N/A
Vulnerability Type
N/A