WWBN AVideo — видеоплатформа с открытым исходным кодом. В версиях до 26.0 включительно метод TransferBalance() в плагине/YPTWallet/YPTWallet.php содержит состояние гонки Time-of-Check-Time-of-Use (TOCTOU). Метод считывает баланс кошелька отправителя, проверяет достаточность в PHP, затем записывает новый баланс — и все это без транзакций базы данных или блокировки на уровне строк.
Злоумышленник с несколькими аутентифицированными сеансами может отправлять одновременные запросы на перевод, все из которых считывают один и тот же просроченный баланс, каждый из которых проходит проверку баланса независимо, в результате чего применяется только один вычет, в то время как получателю зачисляются несколько раз. Коммит 34132ad5159784bfc7ba0d7634bb5c79b769202d содержит исправление.
Показать оригинальное описание (EN)
WWBN AVideo is an open source video platform. In versions up to and including 26.0, the `transferBalance()` method in `plugin/YPTWallet/YPTWallet.php` contains a Time-of-Check-Time-of-Use (TOCTOU) race condition. The method reads the sender's wallet balance, checks sufficiency in PHP, then writes the new balance — all without database transactions or row-level locking. An attacker with multiple authenticated sessions can send concurrent transfer requests that all read the same stale balance, each passing the balance check independently, resulting in only one deduction being applied while the recipient is credited multiple times. Commit 34132ad5159784bfc7ba0d7634bb5c79b769202d contains a fix.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Wwbn Avideo
cpe:2.3:a:wwbn:avideo:*:*:*:*:*:*:*:*
|
— |
<= 26.0
|