<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://cve.radiocsirt.org/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-09T06:09:38.833967+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>csirt@opendfir.org</email>
  </author>
  <link href="https://cve.radiocsirt.org" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/euvd-2026-278196</id>
    <title>EUVD-2026-278196</title>
    <updated>2026-10-09T06:09:38.836104+00:00</updated>
    <content>EUVD-2026-278196</content>
    <link href="https://cve.radiocsirt.org/vuln/euvd-2026-278196"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/fkie_cve-2026-34368</id>
    <title>fkie_cve-2026-34368</title>
    <updated>2026-10-09T06:09:38.836136+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>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.</p>
      </div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/fkie_cve-2026-34368"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/ghsa-h54m-c522-h6qr</id>
    <title>GHSA-h54m-c522-h6qr — AVideo Vulnerable to Wallet Balance Double-Spend via TOCTOU Race Condition in transferBalance</title>
    <updated>2026-10-09T06:09:38.836174+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Packagist: wwbn/avideo</p>
<p>## Summary</p>
<p>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.</p>
<p>## Details</p>
<p>The vulnerable code path in `plugin/YPTWallet/YPTWallet.php:450-517`:</p>
<p>```php
// Line 473-474: READ - fetch current balance (plain SELECT, no FOR UPDATE)
$senderWallet = self::getWallet($fromUserId);
$senderBalance = $senderWallet-&gt;getBalance();
$senderNewBalance = $senderBalance - $amount;</p>
<p>// Line 477: CHECK - verify sufficient funds in PHP
if ($senderNewBalance &lt; 0) {
    return false;
}</p>
<p>// Line 486-487: WRITE - set new balance (plain UPDATE)
$senderWallet-&gt;setBalance($senderNewBalance);
$senderWalletId = $senderWallet-&gt;save();</p>
<p>// Line 497-502: Credit receiver (also plain SELECT + UPDATE)
$receiverWallet = self::getWallet($toUserId);
$receiverBalance = $receiverWallet-&gt;getBalance();
$receiverNewBalance = $receiverBalance + $amount;
$receiverWallet-&gt;setBalance($receiverNewBalance);
$receiverWalletId = $receiverWallet-&gt;save();
```</p>
<p>The `getWallet()` method (`YPTWallet.php:244`) calls `Wallet::getFromUser(…</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/ghsa-h54m-c522-h6qr"/>
  </entry>
</feed>
