<?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>Mon, 05 Oct 2026 09:55:37 +0000</lastBuildDate>
    <item>
      <title>EUVD-2026-322428</title>
      <link>https://cve.radiocsirt.org/vuln/euvd-2026-322428</link>
      <description>EUVD-2026-322428</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/euvd-2026-322428</guid>
    </item>
    <item>
      <title>fkie_cve-2026-45007</title>
      <link>https://cve.radiocsirt.org/vuln/fkie_cve-2026-45007</link>
      <description>&lt;p&gt;phpMyFAQ before 4.1.2 contains missing permission checks in ConfigurationTabController.php where 12 endpoints use userIsAuthenticated() instead of userHasPermission(CONFIGURATION_EDIT). Any authenticated user can enumerate system configuration metadata including permission model, cache backend, mail provider, and translation provider by querying /admin/api/configuration endpoints, violating least privilege access control.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;phpMyFAQ before 4.1.2 contains missing permission checks in ConfigurationTabController.php where 12 endpoints use userIsAuthenticated() instead of userHasPermission(CONFIGURATION_EDIT). Any authenticated user can enumerate system configuration metadata including permission model, cache backend, mail provider, and translation provider by querying /admin/api/configuration endpoints, violating least privilege access control.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/fkie_cve-2026-45007</guid>
    </item>
    <item>
      <title>GHSA-rm98-82fr-mcfx — phpMyFAQ's Missing CONFIGURATION_EDIT Permission Check on 12 Admin API Configuration Tab Endpoints Allows Information D…</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-rm98-82fr-mcfx</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Packagist: thorsten/phpmyfaq, Packagist: phpmyfaq/phpmyfaq&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;12 endpoints in `ConfigurationTabController.php` use `userIsAuthenticated()` (login-only check) instead of `userHasPermission(PermissionType::CONFIGURATION_EDIT)`. This allows any authenticated user — including ones with zero admin permissions — to enumerate system configuration metadata including the permission model, active template, cache backend, mail provider, and translation provider.&lt;/p&gt;
&lt;p&gt;## Details&lt;/p&gt;
&lt;p&gt;The `ConfigurationTabController` contains 15 public endpoints. Three of them (`list`, `save`, `uploadTheme`) correctly enforce `CONFIGURATION_EDIT` permission:&lt;/p&gt;
&lt;p&gt;```php
// phpmyfaq/src/phpMyFAQ/Controller/Administration/Api/ConfigurationTabController.php:63
public function list(Request $request): Response
{
    $this-&amp;gt;userHasPermission(PermissionType::CONFIGURATION_EDIT); // ✅ Correct
    // ...
}
```&lt;/p&gt;
&lt;p&gt;The remaining 12 only check that the user is logged in:&lt;/p&gt;
&lt;p&gt;```php
// phpmyfaq/src/phpMyFAQ/Controller/Administration/Api/ConfigurationTabController.php:353
public function translations(): Response
{
    $this-&amp;gt;userIsAuthenticated(); // ❌ Missing permission check
    // ...
}
```&lt;/p&gt;
&lt;p&gt;The difference between these two methods is significant:&lt;/p&gt;
&lt;p&gt;```php
// AbstractController.php:258 — login-only
protected function userIsAuthenticated(): void
{
    if (!$this-&amp;gt;currentUser-&amp;gt;isLoggedIn()) {
        throw new UnauthorizedHttpException(challenge: &amp;#39;User is not authenticated.&amp;#39;);
    }
}&lt;/p&gt;
&lt;p&gt;// AbstractController.php:317 — login + permission check
protected function userHasPermission(Permi…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Packagist: thorsten/phpmyfaq, Packagist: phpmyfaq/phpmyfaq&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;12 endpoints in `ConfigurationTabController.php` use `userIsAuthenticated()` (login-only check) instead of `userHasPermission(PermissionType::CONFIGURATION_EDIT)`. This allows any authenticated user — including ones with zero admin permissions — to enumerate system configuration metadata including the permission model, active template, cache backend, mail provider, and translation provider.&lt;/p&gt;
&lt;p&gt;## Details&lt;/p&gt;
&lt;p&gt;The `ConfigurationTabController` contains 15 public endpoints. Three of them (`list`, `save`, `uploadTheme`) correctly enforce `CONFIGURATION_EDIT` permission:&lt;/p&gt;
&lt;p&gt;```php
// phpmyfaq/src/phpMyFAQ/Controller/Administration/Api/ConfigurationTabController.php:63
public function list(Request $request): Response
{
    $this-&amp;gt;userHasPermission(PermissionType::CONFIGURATION_EDIT); // ✅ Correct
    // ...
}
```&lt;/p&gt;
&lt;p&gt;The remaining 12 only check that the user is logged in:&lt;/p&gt;
&lt;p&gt;```php
// phpmyfaq/src/phpMyFAQ/Controller/Administration/Api/ConfigurationTabController.php:353
public function translations(): Response
{
    $this-&amp;gt;userIsAuthenticated(); // ❌ Missing permission check
    // ...
}
```&lt;/p&gt;
&lt;p&gt;The difference between these two methods is significant:&lt;/p&gt;
&lt;p&gt;```php
// AbstractController.php:258 — login-only
protected function userIsAuthenticated(): void
{
    if (!$this-&amp;gt;currentUser-&amp;gt;isLoggedIn()) {
        throw new UnauthorizedHttpException(challenge: &amp;#39;User is not authenticated.&amp;#39;);
    }
}&lt;/p&gt;
&lt;p&gt;// AbstractController.php:317 — login + permission check
protected function userHasPermission(Permi…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-rm98-82fr-mcfx</guid>
    </item>
  </channel>
</rss>
