<?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>Fri, 02 Oct 2026 14:53:29 +0000</lastBuildDate>
    <item>
      <title>CVE-2025-58161 — MobSF Path Traversal in GET /download/&lt;filename&gt; using absolute filenames</title>
      <link>https://cve.radiocsirt.org/vuln/cve-2025-58161</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; MobSF Mobile-Security-Framework-MobSF&lt;/p&gt;
&lt;p&gt;MobSF is a mobile application security testing tool used. In version 4.4.0, the GET /download/ route uses string path verification via os.path.commonprefix, which allows an authenticated user to download files outside the DWD_DIR download directory from &amp;#34;neighboring&amp;#34; directories whose absolute paths begin with the same prefix as DWD_DIR (e.g., .../downloads_bak, .../downloads.old). This is a Directory Traversal (escape) leading to a data leak. This issue has been patched in version 4.4.1.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; MobSF Mobile-Security-Framework-MobSF&lt;/p&gt;
&lt;p&gt;MobSF is a mobile application security testing tool used. In version 4.4.0, the GET /download/ route uses string path verification via os.path.commonprefix, which allows an authenticated user to download files outside the DWD_DIR download directory from &amp;#34;neighboring&amp;#34; directories whose absolute paths begin with the same prefix as DWD_DIR (e.g., .../downloads_bak, .../downloads.old). This is a Directory Traversal (escape) leading to a data leak. This issue has been patched in version 4.4.1.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/cve-2025-58161</guid>
    </item>
    <item>
      <title>GHSA-ccc3-fvfx-mw3v — MobSF Path Traversal in GET /download/&lt;filename&gt; using absolute filenames</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-ccc3-fvfx-mw3v</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: mobsf&lt;/p&gt;
&lt;p&gt;### Summary
The GET /download/&amp;lt;filename&amp;gt; route uses string path verification via os.path.commonprefix, which allows an authenticated user to download files outside the DWD_DIR download directory from &amp;#34;neighboring&amp;#34; directories whose absolute paths begin with the same prefix as DWD_DIR (e.g., .../downloads_bak, .../downloads.old). This is a Directory Traversal (escape) leading to a data leak.&lt;/p&gt;
&lt;p&gt;### Details
```
def is_safe_path(safe_root, check_path):
    safe_root  = os.path.realpath(os.path.normpath(safe_root))
    check_path = os.path.realpath(os.path.normpath(check_path))
    return os.path.commonprefix([check_path, safe_root]) == safe_root
```
commonprefix compares raw strings, not path components. For:
```
safe_root  = /home/mobsf/.MobSF/downloads
check_path = /home/mobsf/.MobSF/downloads_bak/test.txt
```
the function returns True, incorrectly treating downloads_bak as inside downloads.
Download handler:
```
# MobSF/views/home.py
@login_required
def download(request):
    root = settings.DWD_DIR
    filename = request.path.replace(&amp;#39;/download/&amp;#39;, &amp;#39;&amp;#39;, 1)
    dwd_file = Path(root) / filename  # absolute &amp;#39;filename&amp;#39; ignores &amp;#39;root&amp;#39;
    if &amp;#39;../&amp;#39; in filename or not is_safe_path(root, dwd_file):
        return HttpResponseForbidden(...)
    ext = dwd_file.suffix
    if ext in settings.ALLOWED_EXTENSIONS and dwd_file.is_file():
        return file_download(dwd_file, ...)
```
If the client supplies an absolute path in filename (starts with / or C:/), Path(root) / filename resolves to…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: mobsf&lt;/p&gt;
&lt;p&gt;### Summary
The GET /download/&amp;lt;filename&amp;gt; route uses string path verification via os.path.commonprefix, which allows an authenticated user to download files outside the DWD_DIR download directory from &amp;#34;neighboring&amp;#34; directories whose absolute paths begin with the same prefix as DWD_DIR (e.g., .../downloads_bak, .../downloads.old). This is a Directory Traversal (escape) leading to a data leak.&lt;/p&gt;
&lt;p&gt;### Details
```
def is_safe_path(safe_root, check_path):
    safe_root  = os.path.realpath(os.path.normpath(safe_root))
    check_path = os.path.realpath(os.path.normpath(check_path))
    return os.path.commonprefix([check_path, safe_root]) == safe_root
```
commonprefix compares raw strings, not path components. For:
```
safe_root  = /home/mobsf/.MobSF/downloads
check_path = /home/mobsf/.MobSF/downloads_bak/test.txt
```
the function returns True, incorrectly treating downloads_bak as inside downloads.
Download handler:
```
# MobSF/views/home.py
@login_required
def download(request):
    root = settings.DWD_DIR
    filename = request.path.replace(&amp;#39;/download/&amp;#39;, &amp;#39;&amp;#39;, 1)
    dwd_file = Path(root) / filename  # absolute &amp;#39;filename&amp;#39; ignores &amp;#39;root&amp;#39;
    if &amp;#39;../&amp;#39; in filename or not is_safe_path(root, dwd_file):
        return HttpResponseForbidden(...)
    ext = dwd_file.suffix
    if ext in settings.ALLOWED_EXTENSIONS and dwd_file.is_file():
        return file_download(dwd_file, ...)
```
If the client supplies an absolute path in filename (starts with / or C:/), Path(root) / filename resolves to…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-ccc3-fvfx-mw3v</guid>
    </item>
  </channel>
</rss>
