Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAttacker stores crafted binary with mode=40000755, uid=0 on controlled remote
-
DeliveryVictim runs rclone copy -M <attacker-remote>: /dest as root
-
Exploitrclone writes binary content and calls os.Chown(uid=0) and os.Chmod(setuid) verbatim
-
ExecutionSetuid root binary lands on local filesystem
-
PersistLocal unprivileged user executes planted binary
-
ImpactPrivilege escalation to root
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V13 - Configuration Permission assignment review
|
| Exploitation Conditions | Exploitation requires three concurrent conditions: (1) the victim must invoke rclone with the --metadata or -M flag explicitly - this flag is off by default and must be deliberately enabled; (2) the source remote must be attacker-controlled or compromised, capable of serving crafted mode/uid/gid metadata; and (3) the destination must be a local filesystem (the local backend). The most severe outcome (root privilege escalation for any local user) additionally requires rclone to be running as root, which is common in cron-scheduled backup/restore jobs but not universal. When rclone runs as a non-root service account, escalation is limited to that account's privileges, enabling lateral movement or persistent backdoor rather than full root compromise. User interaction is required: a human or scheduler must trigger the rclone copy or sync command. Non-default configuration (the -M flag) is the primary limiting factor that restricts the exposed population. |
| Impact | The provided CVSS 4.0 score of 2.0 (AV:L/AC:H/AT:P/PR:N/UI:P/VC:L/VI:L/VA:N) reflects a conservative single-metric view. In practice, the worst-case path - rclone running as root copying from an attacker-controlled remote with -M enabled - yields root-level privilege escalation for any local user, a materially higher impact than VC:L/VI:L implies. The low score appears to treat the scenario where rclone runs as a non-root user, limiting escalation to that account's privileges. No EPSS data was provided and no KEV listing exists, consistent with a targeted rather than commodity exploitation pattern. A PoC is embedded in the upstream advisory, lowering the barrier for exploitation significantly. The primary mitigating factors are: (1) the --metadata flag is not enabled by default, (2) the attacker must control the source remote, and (3) the most severe outcome requires rclone to run as root. For organizations using rclone in automated root-level backup or restore jobs pulling from externally controlled or shared remotes, this represents a genuine high-severity risk despite the low base score. |
| Exploit ScenarioDerived | An attacker who controls an rclone-compatible remote endpoint (e.g., an S3 bucket, SFTP server, or WebDAV share) uploads a crafted shell binary with metadata set to mode=40000755 (setuid world-executable in Go FileMode layout) and uid=0. When a victim administrator runs rclone copy -M attacker-remote: /opt/backup as root on a scheduled cron job, rclone writes the binary and then calls os.Chown to assign root ownership and os.Chmod to set the setuid bit verbatim. Any local unprivileged user can then execute /opt/backup/<binary> to obtain a root shell. A proof-of-concept demonstrating this against rclone v1.74.3 is included in the upstream advisory. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 25, 2026
Privilege escalation in rclone before 1.74.4 allows an attacker who controls a source remote to plant a setuid binary on the destination filesystem when the victim uses the --metadata flag during a copy or sync operation. The local backend passes source-supplied mode, uid, and gid metadata verbatim to os.Chmod and os.Chown without masking ModeSetuid or ModeSetgid bits, enabling an attacker to store a crafted binary with mode=40000755 and uid=0 on a remote they control. If rclone runs as root - common in automated backup/restore workflows - any local user on the destination system can execute the planted binary to gain root access. A proof-of-concept is documented in the upstream advisory; no confirmed active exploitation (CISA KEV) is recorded at time of analysis.
RemediationAI
Upgrade to rclone 1.74.4 or later; this release applies a sanitization mask to strip ModeSetuid and ModeSetgid bits before passing the mode value to os.Chmod, as confirmed by patch commit e58f09739a35774ca82b5211d2377ac0f2051500 and the upstream advisory at https://github.com/rclone/rclone/security/advisories/GHSA-945v-v9p3-v5xw. If immediate upgrade is not feasible, remove the --metadata (-M) flag from all rclone copy, sync, or move commands that read from untrusted, shared, or externally-controlled remotes; this eliminates the vulnerable code path entirely, though it means file ownership and permission metadata will not be preserved on the destination. As an additional defense-in-depth measure, avoid running rclone as root for operations involving external sources; running as a dedicated unprivileged service account limits worst-case escalation to that account's privileges rather than root, reducing blast radius significantly.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in go, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
rclone's local backend implements metadata preservation in backend/local/metadata.go via writeMetadataToFile(). When the --metadata/-M flag is active, it parses the source-supplied mode field as an octal integer and passes it directly to os.Chmod(o.path, os.FileMode(umode)) without applying a sanitization mask such as &^ (os.ModeSetuid|os.ModeSetgid). Go's os.FileMode type natively honors ModeSetuid (bit 1<<23) and ModeSetgid (bit 1<<22), so any source-supplied mode value with these bits set causes the filesystem to apply setuid or setgid. Similarly, uid and gid are passed directly to os.Chown with no guard against cross-user ownership assignment. CWE-732 (Incorrect Permission Assignment for Critical Resource) is the root cause: the vulnerable component assigns permissions dictated by an untrusted external source rather than enforcing a safe upper bound. The affected CPE is cpe:2.3:a:rclone:rclone:*:*:*:*:*:*:*:*, covering all rclone builds through 1.74.3. A legitimate local-to-local copy is incidentally safe because POSIX st_mode layout does not set bit 1<<23 for ordinary setuid files - but the attacker supplies Go FileMode layout directly, bypassing this accidental protection.
Know when Rclone gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:L/AC:H/AT:P/PR:N/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
Attacker prepares malicious remote over network (AV:N); high complexity due to prerequisites of -M flag and root execution (AC:H); no privileges on target required (PR:N); victim must run the copy command (UI:R); privilege escalation beyond rclone's own scope to root constitutes scope change (S:C) with full C/I impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
1DescriptionCVE.org
rclone before 1.74.4 fails to mask special permission bits when applying source-supplied mode metadata in the local backend, allowing attackers to set setuid/setgid bits on attacker-controlled files. When copying with metadata preservation from an untrusted remote, attackers can plant a setuid binary that escalates privileges to root if rclone runs as root, or to the service account user otherwise.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.
Authentication bypass in rclone's S3 server mode (rclone serve s3) allows any unauthenticated network attacker to impers
PowerShell smart-quote filename injection in rclone's SFTP backend allows an attacker who controls remote filenames to e
An issue was discovered in Rclone before 1.53.3. Rated high severity (CVSS 7.5), this vulnerability is remotely exploita
Cross-session credential isolation failure in rclone's FTP auth-proxy driver (versions 1.64.0-1.75.0) allows an authenti
Symlink escape in rclone's local backend (prior to v1.75.1) allows an attacker who controls sync source contents to appl
FTP CRLF injection in rclone before 1.75.0 allows an attacker who can place crafted filenames in a source namespace to i
Path traversal (Zip Slip class) in rclone's archive ZIP backend permits arbitrary file writes outside the intended desti
Denial of service in rclone prior to 1.75.1 allows unauthenticated remote attackers to crash individual HTTP or WebDAV c
Path traversal in rclone prior to 1.75.1 allows an attacker who can populate a source object store with raw `..` key seg
Cleartext disclosure of AWS STS session tokens affects rclone before 1.74.4 when its S3 backend follows a redirect that
Authentication/authorization bypass in rclone's dynamic serve interface (versions 1.70.0 through 1.75.0) lets remote att
Path traversal in the `rclone serve restic --private-repos` REST server (versions prior to 1.74.4) allows an authenticat
EUVD-2026-65541
GHSA-vqwj-943v-724g
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB