<?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 19:35:57 +0000</lastBuildDate>
    <item>
      <title>EUVD-2026-276944</title>
      <link>https://cve.radiocsirt.org/vuln/euvd-2026-276944</link>
      <description>EUVD-2026-276944</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/euvd-2026-276944</guid>
    </item>
    <item>
      <title>fkie_cve-2026-33292</title>
      <link>https://cve.radiocsirt.org/vuln/fkie_cve-2026-33292</link>
      <description>&lt;p&gt;WWBN AVideo is an open source video platform. Prior to version 26.0, the HLS streaming endpoint (`view/hls.php`) is vulnerable to a path traversal attack that allows an unauthenticated attacker to stream any private or paid video on the platform. The `videoDirectory` GET parameter is used in two divergent code paths — one for authorization (which truncates at the first `/` segment) and one for file access (which preserves `..` traversal sequences) — creating a split-oracle condition where authorization is checked against one video while content is served from another. Version 26.0 contains a fix for the issue.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;WWBN AVideo is an open source video platform. Prior to version 26.0, the HLS streaming endpoint (`view/hls.php`) is vulnerable to a path traversal attack that allows an unauthenticated attacker to stream any private or paid video on the platform. The `videoDirectory` GET parameter is used in two divergent code paths — one for authorization (which truncates at the first `/` segment) and one for file access (which preserves `..` traversal sequences) — creating a split-oracle condition where authorization is checked against one video while content is served from another. Version 26.0 contains a fix for the issue.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/fkie_cve-2026-33292</guid>
    </item>
    <item>
      <title>GHSA-pw4v-x838-w5pg — AVideo has an Authorization Bypass via Path Traversal in HLS Endpoint Allows Streaming Private/Paid Videos</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-pw4v-x838-w5pg</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 HLS streaming endpoint (`view/hls.php`) is vulnerable to a path traversal attack that allows an unauthenticated attacker to stream any private or paid video on the platform. The `videoDirectory` GET parameter is used in two divergent code paths — one for authorization (which truncates at the first `/` segment) and one for file access (which preserves `..` traversal sequences) — creating a split-oracle condition where authorization is checked against one video while content is served from another.&lt;/p&gt;
&lt;p&gt;## Details&lt;/p&gt;
&lt;p&gt;The vulnerability is a split-oracle between the authorization lookup and the filesystem path construction. When `hls.php` receives a request, it processes `$_GET[&amp;#39;videoDirectory&amp;#39;]` through two independent functions that interpret the input differently.&lt;/p&gt;
&lt;p&gt;**Step 1 — Authorization lookup truncates at first path segment** (`objects/video.php:1685-1688`):&lt;/p&gt;
&lt;p&gt;```php
public static function getVideoFromFileName($fileName, $ignoreGroup = false, $ignoreTags = false)
{
    // ...
    $parts = explode(&amp;#34;/&amp;#34;, $fileName);
    if (!empty($parts[0])) {
        $fileName = $parts[0];  // Only takes first segment
    }
    $fileName = self::getCleanFilenameFromFile($fileName);
    // ...
    $sql = &amp;#34;SELECT id FROM videos WHERE filename = ? LIMIT 1&amp;#34;;
    $res = sqlDAL::readSql($sql, &amp;#34;s&amp;#34;, [$fileName]);
```&lt;/p&gt;
&lt;p&gt;For input `public_video/../private_video`, `explode(&amp;#34;/&amp;#34;, ...)` yields `[&amp;#34;public_video&amp;#34;, &amp;#34;..&amp;#34;, &amp;#34;private_video&amp;#34;]` and only `public_video` is used for the DB query. The authori…&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 HLS streaming endpoint (`view/hls.php`) is vulnerable to a path traversal attack that allows an unauthenticated attacker to stream any private or paid video on the platform. The `videoDirectory` GET parameter is used in two divergent code paths — one for authorization (which truncates at the first `/` segment) and one for file access (which preserves `..` traversal sequences) — creating a split-oracle condition where authorization is checked against one video while content is served from another.&lt;/p&gt;
&lt;p&gt;## Details&lt;/p&gt;
&lt;p&gt;The vulnerability is a split-oracle between the authorization lookup and the filesystem path construction. When `hls.php` receives a request, it processes `$_GET[&amp;#39;videoDirectory&amp;#39;]` through two independent functions that interpret the input differently.&lt;/p&gt;
&lt;p&gt;**Step 1 — Authorization lookup truncates at first path segment** (`objects/video.php:1685-1688`):&lt;/p&gt;
&lt;p&gt;```php
public static function getVideoFromFileName($fileName, $ignoreGroup = false, $ignoreTags = false)
{
    // ...
    $parts = explode(&amp;#34;/&amp;#34;, $fileName);
    if (!empty($parts[0])) {
        $fileName = $parts[0];  // Only takes first segment
    }
    $fileName = self::getCleanFilenameFromFile($fileName);
    // ...
    $sql = &amp;#34;SELECT id FROM videos WHERE filename = ? LIMIT 1&amp;#34;;
    $res = sqlDAL::readSql($sql, &amp;#34;s&amp;#34;, [$fileName]);
```&lt;/p&gt;
&lt;p&gt;For input `public_video/../private_video`, `explode(&amp;#34;/&amp;#34;, ...)` yields `[&amp;#34;public_video&amp;#34;, &amp;#34;..&amp;#34;, &amp;#34;private_video&amp;#34;]` and only `public_video` is used for the DB query. The authori…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-pw4v-x838-w5pg</guid>
    </item>
  </channel>
</rss>
