<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://cve.radiocsirt.org</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Sat, 17 Oct 2026 15:51:14 +0000</lastBuildDate>
    <item>
      <title>EUVD-2026-277215</title>
      <link>https://cve.radiocsirt.org/vuln/euvd-2026-277215</link>
      <description>EUVD-2026-277215</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/euvd-2026-277215</guid>
    </item>
    <item>
      <title>fkie_cve-2026-33681</title>
      <link>https://cve.radiocsirt.org/vuln/fkie_cve-2026-33681</link>
      <description>&lt;p&gt;WWBN AVideo is an open source video platform. In versions up to and including 26.0, the `objects/pluginRunDatabaseScript.json.php` endpoint accepts a `name` parameter via POST and passes it to `Plugin::getDatabaseFileName()` without any path traversal sanitization. This allows an authenticated admin (or an attacker via CSRF) to traverse outside the plugin directory and execute the contents of any `install/install.sql` file on the filesystem as raw SQL queries against the application database. Commit 81b591c509835505cb9f298aa1162ac64c4152cb contains a patch.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;WWBN AVideo is an open source video platform. In versions up to and including 26.0, the `objects/pluginRunDatabaseScript.json.php` endpoint accepts a `name` parameter via POST and passes it to `Plugin::getDatabaseFileName()` without any path traversal sanitization. This allows an authenticated admin (or an attacker via CSRF) to traverse outside the plugin directory and execute the contents of any `install/install.sql` file on the filesystem as raw SQL queries against the application database. Commit 81b591c509835505cb9f298aa1162ac64c4152cb contains a patch.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/fkie_cve-2026-33681</guid>
    </item>
    <item>
      <title>GHSA-3hwv-x8g3-9qpr — AVideo has Path Traversal in pluginRunDatabaseScript.json.php Enables Arbitrary SQL File Execution via Unsanitized Plug…</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-3hwv-x8g3-9qpr</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Packagist: wwbn/avideo&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;The `objects/pluginRunDatabaseScript.json.php` endpoint accepts a `name` parameter via POST and passes it to `Plugin::getDatabaseFileName()` without any path traversal sanitization. This allows an authenticated admin (or an attacker via CSRF) to traverse outside the plugin directory and execute the contents of any `install/install.sql` file on the filesystem as raw SQL queries against the application database.&lt;/p&gt;
&lt;p&gt;## Details&lt;/p&gt;
&lt;p&gt;The vulnerable data flow:&lt;/p&gt;
&lt;p&gt;**1. Entry point** — `objects/pluginRunDatabaseScript.json.php:21`:
```php
$fileName = Plugin::getDatabaseFileName($_POST[&amp;#39;name&amp;#39;]);
```&lt;/p&gt;
&lt;p&gt;**2. &amp;#34;Sanitization&amp;#34;** — `objects/plugin.php:343-354`:
```php
public static function getDatabaseFileName($pluginName)
{
    global $global;
    $pluginName = AVideoPlugin::fixName($pluginName);  // line 347 — no-op
    $dir = $global[&amp;#39;systemRootPath&amp;#39;] . &amp;#34;plugin&amp;#34;;
    $filename = $dir . DIRECTORY_SEPARATOR . $pluginName . DIRECTORY_SEPARATOR . &amp;#34;install&amp;#34; . DIRECTORY_SEPARATOR . &amp;#34;install.sql&amp;#34;;
    if (!file_exists($filename)) {
        return false;
    }
    return $filename;
}
```&lt;/p&gt;
&lt;p&gt;**3. The &amp;#34;fix&amp;#34;** — `plugin/AVideoPlugin.php:3184-3190`:
```php
public static function fixName($name)
{
    if ($name === &amp;#39;Programs&amp;#39;) {
        return &amp;#39;PlayLists&amp;#39;;
    }
    return $name;  // Returns input unchanged for all other values
}
```&lt;/p&gt;
&lt;p&gt;**4. SQL execution** — `objects/pluginRunDatabaseScript.json.php:24-36`:
```php
$lines = file($fileName);
foreach ($lines as $line) {
    // ...
    if (!$global[&amp;#39;mysql…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Packagist: wwbn/avideo&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;The `objects/pluginRunDatabaseScript.json.php` endpoint accepts a `name` parameter via POST and passes it to `Plugin::getDatabaseFileName()` without any path traversal sanitization. This allows an authenticated admin (or an attacker via CSRF) to traverse outside the plugin directory and execute the contents of any `install/install.sql` file on the filesystem as raw SQL queries against the application database.&lt;/p&gt;
&lt;p&gt;## Details&lt;/p&gt;
&lt;p&gt;The vulnerable data flow:&lt;/p&gt;
&lt;p&gt;**1. Entry point** — `objects/pluginRunDatabaseScript.json.php:21`:
```php
$fileName = Plugin::getDatabaseFileName($_POST[&amp;#39;name&amp;#39;]);
```&lt;/p&gt;
&lt;p&gt;**2. &amp;#34;Sanitization&amp;#34;** — `objects/plugin.php:343-354`:
```php
public static function getDatabaseFileName($pluginName)
{
    global $global;
    $pluginName = AVideoPlugin::fixName($pluginName);  // line 347 — no-op
    $dir = $global[&amp;#39;systemRootPath&amp;#39;] . &amp;#34;plugin&amp;#34;;
    $filename = $dir . DIRECTORY_SEPARATOR . $pluginName . DIRECTORY_SEPARATOR . &amp;#34;install&amp;#34; . DIRECTORY_SEPARATOR . &amp;#34;install.sql&amp;#34;;
    if (!file_exists($filename)) {
        return false;
    }
    return $filename;
}
```&lt;/p&gt;
&lt;p&gt;**3. The &amp;#34;fix&amp;#34;** — `plugin/AVideoPlugin.php:3184-3190`:
```php
public static function fixName($name)
{
    if ($name === &amp;#39;Programs&amp;#39;) {
        return &amp;#39;PlayLists&amp;#39;;
    }
    return $name;  // Returns input unchanged for all other values
}
```&lt;/p&gt;
&lt;p&gt;**4. SQL execution** — `objects/pluginRunDatabaseScript.json.php:24-36`:
```php
$lines = file($fileName);
foreach ($lines as $line) {
    // ...
    if (!$global[&amp;#39;mysql…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-3hwv-x8g3-9qpr</guid>
    </item>
  </channel>
</rss>
