<?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 18:56:06 +0000</lastBuildDate>
    <item>
      <title>EUVD-2026-278785</title>
      <link>https://cve.radiocsirt.org/vuln/euvd-2026-278785</link>
      <description>EUVD-2026-278785</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/euvd-2026-278785</guid>
    </item>
    <item>
      <title>fkie_cve-2026-34728</title>
      <link>https://cve.radiocsirt.org/vuln/fkie_cve-2026-34728</link>
      <description>&lt;p&gt;phpMyFAQ is an open source FAQ web application. Prior to version 4.1.1, the MediaBrowserController::index() method handles file deletion for the media browser. When the fileRemove action is triggered, the user-supplied name parameter is concatenated with the base upload directory path without any path traversal validation. The FILTER_SANITIZE_SPECIAL_CHARS filter only encodes HTML special characters (&amp;amp;, &amp;#39;, &amp;#34;, &amp;lt;, &amp;gt;) and characters with ASCII value &amp;lt; 32, and does not prevent directory traversal sequences like ../. Additionally, the endpoint does not validate CSRF tokens, making it exploitable via CSRF attacks. This issue has been patched in version 4.1.1.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;phpMyFAQ is an open source FAQ web application. Prior to version 4.1.1, the MediaBrowserController::index() method handles file deletion for the media browser. When the fileRemove action is triggered, the user-supplied name parameter is concatenated with the base upload directory path without any path traversal validation. The FILTER_SANITIZE_SPECIAL_CHARS filter only encodes HTML special characters (&amp;amp;, &amp;#39;, &amp;#34;, &amp;lt;, &amp;gt;) and characters with ASCII value &amp;lt; 32, and does not prevent directory traversal sequences like ../. Additionally, the endpoint does not validate CSRF tokens, making it exploitable via CSRF attacks. This issue has been patched in version 4.1.1.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/fkie_cve-2026-34728</guid>
    </item>
    <item>
      <title>GHSA-38m8-xrfj-v38x — phpMyFAQ: Path Traversal - Arbitrary File Deletion in MediaBrowserController</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-38m8-xrfj-v38x</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Packagist: phpmyfaq/phpmyfaq&lt;/p&gt;
&lt;p&gt;### Summary
The `MediaBrowserController::index()` method handles file deletion for the media browser. When the `fileRemove` action is triggered, the user-supplied `name` parameter is concatenated with the base upload directory path without any path traversal validation. The `FILTER_SANITIZE_SPECIAL_CHARS` filter only encodes HTML special characters (`&amp;amp;`, `&amp;#39;`, `&amp;#34;`, `&amp;lt;`, `&amp;gt;`) and characters with ASCII value &amp;lt; 32, and does not prevent directory traversal sequences like `../`. Additionally, the endpoint does not validate CSRF tokens, making it exploitable via CSRF attacks.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;**Affected File:** `phpmyfaq/src/phpMyFAQ/Controller/Administration/Api/MediaBrowserController.php`&lt;/p&gt;
&lt;p&gt;**Lines 43-66:**
```php
#[Route(path: &amp;#39;media-browser&amp;#39;, name: &amp;#39;admin.api.media.browser&amp;#39;, methods: [&amp;#39;GET&amp;#39;])]
public function index(Request $request): JsonResponse|Response
{
    $this-&amp;gt;userHasPermission(PermissionType::FAQ_EDIT);
    // ...
    $data = json_decode($request-&amp;gt;getContent());
    $action = Filter::filterVar($data-&amp;gt;action, FILTER_SANITIZE_SPECIAL_CHARS);&lt;/p&gt;
&lt;p&gt;if ($action === &amp;#39;fileRemove&amp;#39;) {
        $file = Filter::filterVar($data-&amp;gt;name, FILTER_SANITIZE_SPECIAL_CHARS);
        $file = PMF_CONTENT_DIR . &amp;#39;/user/images/&amp;#39; . $file;&lt;/p&gt;
&lt;p&gt;if (file_exists($file)) {
            unlink($file);
        }
        // Returns success without checking if deletion was within intended directory
    }
}
```&lt;/p&gt;
&lt;p&gt;**Root Causes:**
1. **No path traversal prevention:** `FILTER_SANITIZE_SPECIAL_CHARS` does not…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Packagist: phpmyfaq/phpmyfaq&lt;/p&gt;
&lt;p&gt;### Summary
The `MediaBrowserController::index()` method handles file deletion for the media browser. When the `fileRemove` action is triggered, the user-supplied `name` parameter is concatenated with the base upload directory path without any path traversal validation. The `FILTER_SANITIZE_SPECIAL_CHARS` filter only encodes HTML special characters (`&amp;amp;`, `&amp;#39;`, `&amp;#34;`, `&amp;lt;`, `&amp;gt;`) and characters with ASCII value &amp;lt; 32, and does not prevent directory traversal sequences like `../`. Additionally, the endpoint does not validate CSRF tokens, making it exploitable via CSRF attacks.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;**Affected File:** `phpmyfaq/src/phpMyFAQ/Controller/Administration/Api/MediaBrowserController.php`&lt;/p&gt;
&lt;p&gt;**Lines 43-66:**
```php
#[Route(path: &amp;#39;media-browser&amp;#39;, name: &amp;#39;admin.api.media.browser&amp;#39;, methods: [&amp;#39;GET&amp;#39;])]
public function index(Request $request): JsonResponse|Response
{
    $this-&amp;gt;userHasPermission(PermissionType::FAQ_EDIT);
    // ...
    $data = json_decode($request-&amp;gt;getContent());
    $action = Filter::filterVar($data-&amp;gt;action, FILTER_SANITIZE_SPECIAL_CHARS);&lt;/p&gt;
&lt;p&gt;if ($action === &amp;#39;fileRemove&amp;#39;) {
        $file = Filter::filterVar($data-&amp;gt;name, FILTER_SANITIZE_SPECIAL_CHARS);
        $file = PMF_CONTENT_DIR . &amp;#39;/user/images/&amp;#39; . $file;&lt;/p&gt;
&lt;p&gt;if (file_exists($file)) {
            unlink($file);
        }
        // Returns success without checking if deletion was within intended directory
    }
}
```&lt;/p&gt;
&lt;p&gt;**Root Causes:**
1. **No path traversal prevention:** `FILTER_SANITIZE_SPECIAL_CHARS` does not…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-38m8-xrfj-v38x</guid>
    </item>
  </channel>
</rss>
