<?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://vulnerability.circl.lu</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>Mon, 05 Oct 2026 13:46:16 +0000</lastBuildDate>
    <item>
      <title>fkie_cve-2026-33501</title>
      <link>https://vulnerability.circl.lu/vuln/fkie_cve-2026-33501</link>
      <description>&lt;p&gt;WWBN AVideo is an open source video platform. In versions up to and including 26.0, the endpoint `plugin/Permissions/View/Users_groups_permissions/list.json.php` lacks any authentication or authorization check, allowing unauthenticated users to retrieve the complete permission matrix mapping user groups to plugins. All sibling endpoints in the same directory (`add.json.php`, `delete.json.php`, `index.php`) properly require `User::isAdmin()`, indicating this is an oversight. Commits dc3c825734628bb32550d0daa125f05bacb6829c and b583acdc9a9d1eab461543caa363e1a104fb4516 contain patches.&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 endpoint `plugin/Permissions/View/Users_groups_permissions/list.json.php` lacks any authentication or authorization check, allowing unauthenticated users to retrieve the complete permission matrix mapping user groups to plugins. All sibling endpoints in the same directory (`add.json.php`, `delete.json.php`, `index.php`) properly require `User::isAdmin()`, indicating this is an oversight. Commits dc3c825734628bb32550d0daa125f05bacb6829c and b583acdc9a9d1eab461543caa363e1a104fb4516 contain patches.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/fkie_cve-2026-33501</guid>
    </item>
    <item>
      <title>GHSA-96qp-8cmq-jvq8 — AVideo has Unauthenticated Information Disclosure of User Group Permission Mappings via Permissions Plugin</title>
      <link>https://vulnerability.circl.lu/vuln/ghsa-96qp-8cmq-jvq8</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 endpoint `plugin/Permissions/View/Users_groups_permissions/list.json.php` lacks any authentication or authorization check, allowing unauthenticated users to retrieve the complete permission matrix mapping user groups to plugins. All sibling endpoints in the same directory (`add.json.php`, `delete.json.php`, `index.php`) properly require `User::isAdmin()`, indicating this is an oversight.&lt;/p&gt;
&lt;p&gt;## Details&lt;/p&gt;
&lt;p&gt;The vulnerable file at `plugin/Permissions/View/Users_groups_permissions/list.json.php:1-7` contains:&lt;/p&gt;
&lt;p&gt;```php
&amp;lt;?php
require_once &amp;#39;../../../../videos/configuration.php&amp;#39;;
require_once $global[&amp;#39;systemRootPath&amp;#39;] . &amp;#39;plugin/Permissions/Objects/Users_groups_permissions.php&amp;#39;;
header(&amp;#39;Content-Type: application/json&amp;#39;);&lt;/p&gt;
&lt;p&gt;$rows = Users_groups_permissions::getAll();
?&amp;gt;
{&amp;#34;data&amp;#34;: &amp;lt;?php echo json_encode($rows); ?&amp;gt;}
```&lt;/p&gt;
&lt;p&gt;This calls `ObjectYPT::getAll()` (defined in `objects/Object.php:98-111`), which executes:&lt;/p&gt;
&lt;p&gt;```php
$sql = &amp;#34;SELECT * FROM  &amp;#34; . static::getTableName() . &amp;#34; WHERE 1=1 &amp;#34;;
$sql .= self::getSqlFromPost();
```&lt;/p&gt;
&lt;p&gt;This returns all rows from the `users_groups_permissions` table as JSON with no access control.&lt;/p&gt;
&lt;p&gt;Compare with the sibling `add.json.php:10-15` and `delete.json.php:9-14`, which both enforce:&lt;/p&gt;
&lt;p&gt;```php
$plugin = AVideoPlugin::loadPluginIfEnabled(&amp;#39;Permissions&amp;#39;);
if(!User::isAdmin()){
    $obj-&amp;gt;msg = &amp;#34;You cant do this&amp;#34;;
    die(json_encode($obj));
}
```&lt;/p&gt;
&lt;p&gt;Similarly, `index.php:6-8` (the admin page that loads this data via AJAX) checks:&lt;/p&gt;
&lt;p&gt;```php
if (!User::isAdmin()) {…&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 endpoint `plugin/Permissions/View/Users_groups_permissions/list.json.php` lacks any authentication or authorization check, allowing unauthenticated users to retrieve the complete permission matrix mapping user groups to plugins. All sibling endpoints in the same directory (`add.json.php`, `delete.json.php`, `index.php`) properly require `User::isAdmin()`, indicating this is an oversight.&lt;/p&gt;
&lt;p&gt;## Details&lt;/p&gt;
&lt;p&gt;The vulnerable file at `plugin/Permissions/View/Users_groups_permissions/list.json.php:1-7` contains:&lt;/p&gt;
&lt;p&gt;```php
&amp;lt;?php
require_once &amp;#39;../../../../videos/configuration.php&amp;#39;;
require_once $global[&amp;#39;systemRootPath&amp;#39;] . &amp;#39;plugin/Permissions/Objects/Users_groups_permissions.php&amp;#39;;
header(&amp;#39;Content-Type: application/json&amp;#39;);&lt;/p&gt;
&lt;p&gt;$rows = Users_groups_permissions::getAll();
?&amp;gt;
{&amp;#34;data&amp;#34;: &amp;lt;?php echo json_encode($rows); ?&amp;gt;}
```&lt;/p&gt;
&lt;p&gt;This calls `ObjectYPT::getAll()` (defined in `objects/Object.php:98-111`), which executes:&lt;/p&gt;
&lt;p&gt;```php
$sql = &amp;#34;SELECT * FROM  &amp;#34; . static::getTableName() . &amp;#34; WHERE 1=1 &amp;#34;;
$sql .= self::getSqlFromPost();
```&lt;/p&gt;
&lt;p&gt;This returns all rows from the `users_groups_permissions` table as JSON with no access control.&lt;/p&gt;
&lt;p&gt;Compare with the sibling `add.json.php:10-15` and `delete.json.php:9-14`, which both enforce:&lt;/p&gt;
&lt;p&gt;```php
$plugin = AVideoPlugin::loadPluginIfEnabled(&amp;#39;Permissions&amp;#39;);
if(!User::isAdmin()){
    $obj-&amp;gt;msg = &amp;#34;You cant do this&amp;#34;;
    die(json_encode($obj));
}
```&lt;/p&gt;
&lt;p&gt;Similarly, `index.php:6-8` (the admin page that loads this data via AJAX) checks:&lt;/p&gt;
&lt;p&gt;```php
if (!User::isAdmin()) {…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/ghsa-96qp-8cmq-jvq8</guid>
    </item>
  </channel>
</rss>
