CVE-2026-54574 in proot-distro
Summary
by MITRE • 07/29/2026
proot-distro is a utility for managing proot containers. Prior to version 5.1.5, proot-distro install extracted plain tarball root filesystems through _extract_plain_tar() in proot_distro/commands/install.py and Docker layers through _apply_layer() in proot_distro/helpers/docker.py without validating archive-controlled symlink targets in member.linkname, allowing a malicious archive to plant an absolute host-path symlink and write files through it onto the host filesystem. This issue is fixed in version 5.1.5.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.
Analysis
by VulDB Data Team • 07/29/2026
The vulnerability in proot-distro affects version 5.1.4 and earlier, where the installation process fails to validate symbolic link targets within archive files during extraction operations. This flaw exists in two primary code paths: the _extract_plain_tar() function located in proot_distro/commands/install.py and the _apply_layer() function found in proot_distro/helpers/docker.py. Both functions handle the extraction of root filesystems from tarball archives without implementing proper validation of the linkname member field that controls symbolic link targets within archive entries.
When processing maliciously crafted archive files, the system allows absolute host-path symlinks to be created during the extraction phase. This occurs because the software does not verify that symbolic link targets remain within the intended container boundaries or validate that they reference paths relative to the extraction directory. The absence of such validation creates a critical security gap where an attacker can place a symlink in the archive that points to any location on the host filesystem, bypassing normal containment mechanisms provided by the proot containerization system.
The operational impact of this vulnerability is severe as it allows for arbitrary file write operations from within a containerized environment directly onto the host filesystem. An attacker with access to create or modify tarball archives could construct malicious packages that, when installed through proot-distro, would establish symbolic links pointing to critical system files or directories on the host. This could result in privilege escalation, data exfiltration, or system compromise, as the containerized environment would effectively lose its isolation properties.
This vulnerability aligns with CWE-59 and CWE-382, representing weaknesses in archive handling that allow for symbolic link manipulation outside of intended boundaries. The flaw also maps to ATT&CK technique T1059.007 for execution through container escape and T1566 for social engineering via malicious archive delivery. The mitigation strategy involves upgrading to version 5.1.5 or later, which implements proper validation of symbolic link targets during archive extraction. Organizations should also consider implementing additional controls such as verifying the integrity of installation packages, using restricted user accounts for package installation, and monitoring for unexpected symbolic links in containerized environments.
The fix implemented in version 5.1.5 addresses this by introducing validation checks that ensure all symbolic link targets within extracted archives remain within the designated extraction directory or are properly sanitized before being written to disk. This prevents the creation of absolute path symlinks that could otherwise enable write operations to arbitrary host locations, restoring proper containment boundaries for the containerized environment and maintaining the security isolation that proot-distro is designed to provide.