{"description":"Trending threats, MITRE ATT\u0026CK coverage, and detection metadata. Fed continuously.","feed_url":"https://feed.craftedsignal.io/products/termux-app-0.119.0-beta.3/feed.json","home_page_url":"https://feed.craftedsignal.io/","items":[{"_cs_actors":[],"_cs_cpes":[],"_cs_cves":[],"_cs_exploited":false,"_cs_has_poc":false,"_cs_poc_references":[],"_cs_products":["proot-distro (5.1.4)","Termux app (0.119.0-beta.3)"],"_cs_severities":["high"],"_cs_tags":["vulnerability","path-traversal","arbitrary-file-write","termux"],"_cs_type":"advisory","_cs_vendors":["Termux"],"content_html":"\u003cp\u003eThe 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 \u003ccode\u003einstall\u003c/code\u003e or \u003ccode\u003ereset\u003c/code\u003e commands, the application incorrectly trusts the \u003ccode\u003elinkname\u003c/code\u003e 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.\u003c/p\u003e\n\u003cp\u003eBecause the underlying Python \u003ccode\u003eopen()\u003c/code\u003e 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 \u003ccode\u003e~/.bashrc\u003c/code\u003e or \u003ccode\u003e~/.profile\u003c/code\u003e), resulting in persistent code execution upon the next shell session. This vulnerability also impacts the \u003ccode\u003ehelpers/docker.py\u003c/code\u003e component via the \u003ccode\u003e_apply_layer\u003c/code\u003e function.\u003c/p\u003e\n\u003ch2 id=\"attack-chain\"\u003eAttack Chain\u003c/h2\u003e\n\u003col\u003e\n\u003cli\u003eThe attacker crafts a malicious tar archive containing a symbolic link with an absolute target path (e.g., \u003ccode\u003e/data/data/com.termux/files/home\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eThe attacker includes a subsequent regular file member in the tarball that uses the symlink path as a directory prefix.\u003c/li\u003e\n\u003cli\u003eThe victim executes \u003ccode\u003eproot-distro install \u0026lt;malicious_archive\u0026gt;\u003c/code\u003e or \u003ccode\u003eproot-distro reset\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003e_extract_plain_tar()\u003c/code\u003e function in \u003ccode\u003eproot_distro/commands/install.py\u003c/code\u003e processes the symlink and creates it on the host filesystem without validating the target destination.\u003c/li\u003e\n\u003cli\u003eThe extraction process reaches the regular file member and follows the attacker-controlled symlink.\u003c/li\u003e\n\u003cli\u003eThe application writes the file content into the host filesystem location defined by the symlink.\u003c/li\u003e\n\u003cli\u003eThe user's environment is modified, leading to persistent command execution when the user later initiates a session or modifies shell configuration.\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch2 id=\"impact\"\u003eImpact\u003c/h2\u003e\n\u003cp\u003eSuccessful exploitation allows for arbitrary file write on the host Android device within the Termux sandbox boundaries. By overwriting shell initialization scripts like \u003ccode\u003e~/.bashrc\u003c/code\u003e or \u003ccode\u003e~/.profile\u003c/code\u003e, 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.\u003c/p\u003e\n\u003ch2 id=\"recommendation\"\u003eRecommendation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to a patched version of proot-distro immediately.\u003c/li\u003e\n\u003cli\u003eImplement the \u003ccode\u003e_is_safe_symlink\u003c/code\u003e validation guard as described in the brief to reject symlinks with absolute targets or those that resolve outside the \u003ccode\u003erootfs_dir\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAudit existing tar extraction logic in other tools to ensure \u003ccode\u003emember.linkname\u003c/code\u003e is validated against absolute paths and directory traversal.\u003c/li\u003e\n\u003cli\u003eMonitor for the deployment of malicious tar archives that may attempt to utilize the SHA-256 hash provided in the IOC section.\u003c/li\u003e\n\u003c/ul\u003e\n","date_modified":"2026-07-29T16:33:09Z","date_published":"2026-07-29T16:33:09Z","id":"https://feed.craftedsignal.io/briefs/2026-07-proot-distro-symlink-escape/","summary":"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.","title":"Arbitrary Host File Write via Symlink Escape in proot-distro","url":"https://feed.craftedsignal.io/briefs/2026-07-proot-distro-symlink-escape/"}],"language":"en","title":"CraftedSignal Threat Feed - Termux App (0.119.0-Beta.3)","version":"https://jsonfeed.org/version/1.1"}