<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Termux App (0.119.0-Beta.3) - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/termux-app-0.119.0-beta.3/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Wed, 29 Jul 2026 16:33:09 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/termux-app-0.119.0-beta.3/feed.xml" rel="self" type="application/rss+xml"/><item><title>Arbitrary Host File Write via Symlink Escape in proot-distro</title><link>https://feed.craftedsignal.io/briefs/2026-07-proot-distro-symlink-escape/</link><pubDate>Wed, 29 Jul 2026 16:33:09 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-07-proot-distro-symlink-escape/</guid><description>The proot-distro utility contains a symlink traversal vulnerability (CVE-2026-54574) that allows malicious tar archives to overwrite arbitrary files on the host filesystem during the installation or reset process.</description><content:encoded><![CDATA[<p>The proot-distro utility (v5.0.2 and earlier) contains a critical path traversal vulnerability caused by insufficient validation of symlink targets during tarball extraction. When extracting a filesystem archive via the <code>install</code> or <code>reset</code> commands, the application incorrectly trusts the <code>linkname</code> property of symbolic links within the archive. An attacker can create a malicious archive containing a symlink pointing to an absolute host path, followed by a file member designed to traverse that symlink.</p>
<p>Because the underlying Python <code>open()</code> call follows these links, the application writes the payload into the host filesystem with the privileges of the Termux user, bypassing the intended rootfs isolation. This allows for the overwriting of shell startup files (such as <code>~/.bashrc</code> or <code>~/.profile</code>), resulting in persistent code execution upon the next shell session. This vulnerability also impacts the <code>helpers/docker.py</code> component via the <code>_apply_layer</code> function.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The attacker crafts a malicious tar archive containing a symbolic link with an absolute target path (e.g., <code>/data/data/com.termux/files/home</code>).</li>
<li>The attacker includes a subsequent regular file member in the tarball that uses the symlink path as a directory prefix.</li>
<li>The victim executes <code>proot-distro install &lt;malicious_archive&gt;</code> or <code>proot-distro reset</code>.</li>
<li>The <code>_extract_plain_tar()</code> function in <code>proot_distro/commands/install.py</code> processes the symlink and creates it on the host filesystem without validating the target destination.</li>
<li>The extraction process reaches the regular file member and follows the attacker-controlled symlink.</li>
<li>The application writes the file content into the host filesystem location defined by the symlink.</li>
<li>The user's environment is modified, leading to persistent command execution when the user later initiates a session or modifies shell configuration.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows for arbitrary file write on the host Android device within the Termux sandbox boundaries. By overwriting shell initialization scripts like <code>~/.bashrc</code> or <code>~/.profile</code>, attackers can achieve persistent code execution. This vulnerability affects all users of proot-distro on Termux who process untrusted or potentially compromised rootfs archives, with confirmed impact on the Termux app version 0.119.0-beta.3 and proot-distro 5.0.2.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to a patched version of proot-distro immediately.</li>
<li>Implement the <code>_is_safe_symlink</code> validation guard as described in the brief to reject symlinks with absolute targets or those that resolve outside the <code>rootfs_dir</code>.</li>
<li>Audit existing tar extraction logic in other tools to ensure <code>member.linkname</code> is validated against absolute paths and directory traversal.</li>
<li>Monitor for the deployment of malicious tar archives that may attempt to utilize the SHA-256 hash provided in the IOC section.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>vulnerability</category><category>path-traversal</category><category>arbitrary-file-write</category><category>termux</category></item></channel></rss>