CVE-2026-54572: rclone: Unvalidated symlink target in local `--links` — arbitrary file write from an untrusted remote
With -l/--links, rclone serializes symlinks as <name>.rclonelink text objects whose body is the link target. When rclone writes such an object to a local destination, it recreates the symlink with os.Symlink(<object body>, <dest path>) and performs NO validation of the target. If the source is attacker-controlled, the attacker sets the body to any absolute or ../ path, so rclone plants a symlink inside the destination that points anywhere on the victim’s filesystem. Because a sibling object named <name>.rclonelink sorts before <name>/..., rclone creates the escaping symlink first and then writes a following object “inside” it; mkdirAll/OpenFile follow the planted symlink, so the file lands OUTSIDE the destination with attacker-chosen contents. This yields arbitrary file write as the victim user, e.g. overwriting ~/.ssh/authorized_keys, ~/.bashrc, or a crontab — i.e. code execution.
References
- github.com/advisories/GHSA-cf44-9pgv-m4xc
- github.com/rclone/rclone/commit/1154afebee986180b489084d38e2a0c578751498
- github.com/rclone/rclone/commit/874a804f5289517defdd7de68b2a374837080265
- github.com/rclone/rclone/releases/tag/v1.74.4
- github.com/rclone/rclone/security/advisories/GHSA-cf44-9pgv-m4xc
- nvd.nist.gov/vuln/detail/CVE-2026-54572
Code Behaviors & Features
Detect and mitigate CVE-2026-54572 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →