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. Learn more about Dependency Scanning →