rclone CVE-2026-41176
CRITICALAttack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessNetwork access to exposed RC port
-
DeliveryPOST to /options/set with rc.NoAuth=true payload
-
ExploitAuthorization gate disabled runtime
-
ExecutionPOST to /config/dump for credential theft
-
PersistPOST to /operations/copyfile with command injection
-
ImpactArbitrary code execution as rclone process user
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication required for critical functions
MITRE ATT&CK
1 technique across 1 tactic: Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Remote control API must be enabled via --rc command-line flag or by running the rclone rcd dedicated RC server. The RC interface must be network-accessible to the attacker, requiring --rc-addr configured to bind to a non-localhost address (default is localhost-only, which blocks remote exploitation). The RC server must be running without global HTTP authentication, meaning none of --rc-user, --rc-pass, or --rc-htpasswd flags were provided at startup. These three conditions must simultaneously exist for exploitation. Limiting factors: Default rclone installations serve RC only to localhost (127.0.0.1), blocking network attacks. Most production deployments implement HTTP authentication as documented best practice. Attack requires attacker network access to the specific RC port, which may be firewalled. No user interaction required once prerequisites are met (UI:N). No elevated privileges needed on attacker system (PR:N). |
| Impact | Real-world risk is HIGH but deployment-dependent. CVSS:4.0 vector AV:N/AC:L/PR:N indicates network-accessible unauthenticated exploitation, but AT:P (Attack Requirements: Present) correctly reflects that three specific preconditions must align: RC API enabled (--rc or rclone rcd), network accessibility (--rc-addr configured to non-localhost), and absence of global HTTP authentication (no --rc-user/--rc-pass/--rc-htpasswd). CVSS 9.2 severity is justified when these conditions exist, as the impact chain enables credential disclosure via config/dump, arbitrary file operations via operations/copyfile, and command execution via core/command with metadata mapper paths. However, default rclone installations serve RC only to localhost and most production deployments use HTTP authentication, significantly reducing exposed attack surface. No CISA KEV listing indicates no confirmed widespread exploitation despite the GitHub advisory containing a working proof-of-concept. No EPSS score provided in input data. The SSVC framework would likely classify this as 'attend' rather than 'act immediately' for most organizations due to prerequisite deployment conditions, though vulnerable exposed instances require urgent patching given the trivial two-request exploitation path and administrative access impact. Critical data gap: patch availability and fixed version not confirmed in provided references-GitHub advisory GHSA-25qr-6mpr-f7qx should contain remediation guidance but exact fix version requires verification. |
| Exploit ScenarioDerived | An attacker scans for rclone RC instances exposed on non-standard ports without HTTP authentication, identifies a target at vulnerable-host:5572. The attacker sends a POST request to /options/set with JSON payload setting rc.NoAuth to true, receiving HTTP 200 confirmation. Now bypassing all authorization checks, the attacker calls /config/dump to exfiltrate cloud storage credentials, /operations/list to enumerate stored data, and /operations/copyfile combined with metadata mapper command injection to achieve arbitrary command execution on the host system. Proof-of-concept code is publicly documented in the GitHub advisory. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv2 – Apr 23, 2026
Authentication bypass in rclone's remote control (RC) API allows network attackers to disable authorization checks via unauthenticated configuration mutation, enabling full administrative access to RC endpoints. The options/set endpoint lacks authentication requirements and permits setting rc.NoAuth=true, which disables protection for all RC methods marked AuthRequired: true. Affects rclone v1.45 onward when RC is network-accessible without HTTP authentication. No CISA KEV listing or public exploit code identified at time of analysis, though GitHub security advisory provides detailed proof-of-concept reproduction steps. CVSS 9.2 reflects critical severity with network vector and no authentication required, though CVSS:4.0 AT:P (Attack Requirements: Present) indicates specific deployment prerequisites limit automatic exploitation.
Earlier versions of this analysis (1)
Authentication bypass in rclone's remote control API allows unauthenticated attackers to disable authorization gates and execute administrative commands on exposed RC servers. Attackers exploit the unauthenticated options/set endpoint to set rc.NoAuth=true, bypassing AuthRequired checks for protected methods including config/dump (credential disclosure), operations/copyfile (arbitrary file operations), and core/command (command execution via metadata mappers). Affects rclone v1.45+ when RC API is network-accessible without global HTTP authentication (--rc-user/--rc-pass). GitHub advisory confirms the vulnerability with proof-of-concept reproduction on Ubuntu systems. High-impact exploitation paths emerged in later releases as additional RC functionality was introduced.
RemediationAI
Consult the official GitHub security advisory at https://github.com/rclone/rclone/security/advisories/GHSA-25qr-6mpr-f7qx for vendor-confirmed patch version and upgrade immediately if running affected versions with network-exposed RC. Primary fix is upgrading to the patched rclone release identified in the advisory. If immediate patching is not feasible, implement these compensating controls with their respective trade-offs: (1) Enable global HTTP authentication using --rc-user and --rc-pass flags, which adds authentication overhead but provides defense-in-depth; (2) Restrict RC network binding to localhost only by removing --rc-addr or setting it to 127.0.0.1, which prevents remote administration capabilities; (3) Disable RC entirely by removing --rc flag or not running rclone rcd, which eliminates all remote control functionality including legitimate administrative workflows; (4) Deploy network-level access controls (firewall rules, VPN requirements) to limit RC endpoint reachability to trusted networks only, which adds infrastructure complexity and may conflict with cloud deployment models. Note that workarounds (2) and (3) eliminate the vulnerable attack surface but also disable intended RC functionality, requiring assessment of operational impact before implementation.
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in go
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Rclone is a command-line program for managing cloud storage that includes an optional remote control (RC) HTTP API for administrative operations. The vulnerability stems from an inconsistent authorization model where the options/set endpoint (registered in fs/rc/config.go) lacks the AuthRequired: true flag, allowing unauthenticated callers to mutate global runtime configuration including the RC option block itself. The RC server's authorization enforcement in fs/rc/rcserver/rcserver.go checks if !s.opt.NoAuth && call.AuthRequired && !s.server.UsingAuth() using the mutable runtime value s.opt.NoAuth rather than immutable startup configuration. This creates a time-of-check-time-of-use (TOCTOU) vulnerability where an attacker can flip the authorization gate after server initialization. The root cause maps to CWE-306 (Missing Authentication for Critical Function) as the configuration mutation endpoint lacks authentication controls despite its security-critical nature. Affected product CPE: pkg:go/github.com/rclone/rclone from v1.45 onward, with additional high-impact exploitation paths introduced in later versions as RC functionality expanded.
Know when the next one hits your stack
- 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:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Primary rating from Vendor (https://github.com/rclone/rclone).
CVSS VectorVendor: https://github.com/rclone/rclone
Lifecycle Timeline
4DescriptionCVE.org
Summary
The RC endpoint options/set is exposed without AuthRequired: true, but it can mutate global runtime configuration, including the RC option block itself. An unauthenticated attacker can set rc.NoAuth=true, which disables the authorization gate for many RC methods registered with AuthRequired: true on reachable RC servers that are started without global HTTP authentication. This can lead to unauthorized access to sensitive administrative functionality, including configuration and operational RC methods.
Preconditions
Preconditions for this vulnerability are:
- The rclone remote control API must be enabled, either by the
--rcflag or by running therclone rcdserver - The remote control API must be reachable by the attacker - by default rclone only serves the rc to localhost unless the
--rc-addrflag is in use - The rc must have been deployed without global RC HTTP authentication - so not using
--rc-user/--rc-pass/--rc-htpasswd/etc
Details
The root cause is present from v1.45 onward. Some higher-impact exploitation paths became available in later releases as additional RC functionality was introduced.
The issue is caused by two properties of the RC implementation:
options/setis exposed withoutAuthRequired: true- the RC server enforces authorization for
AuthRequiredcalls using the mutable runtime values.opt.NoAuth
Relevant code paths:
fs/rc/config.go- registers
options/setwithoutAuthRequired: true rcOptionsSetreshapes attacker-controlled input into global option blocksfs/rc/rcserver/rcserver.go- request handling checks:
if !s.opt.NoAuth && call.AuthRequired && !s.server.UsingAuth()- once
rc.NoAuthis changed totrue, laterAuthRequiredmethods become callable without credentials
This creates a runtime auth-bypass primitive on the RC interface.
After setting rc.NoAuth=true, previously protected administrative methods become callable, including configuration and operational endpoints such as:
config/listremotesconfig/dumpconfig/getoperations/listoperations/copyfilecore/command
Relevant code for the second-stage command execution path:
fs/metadata.gometadataMapper()usesexec.Command(...)fs/operations/rc.gooperations/copyfileis normallyAuthRequired: true- once
rc.NoAuth=true, it becomes reachable without credentials
This was validating using the following:
- current
masteras of 2026-04-14:bf55d5e6d37fd86164a87782191f9e1ffcaafa82 - latest public release tested locally:
v1.73.4
The issue was also verified on a public amd64 Ubuntu host controlled by the tester, using direct host execution (not containerized PoC execution).
PoC
Minimal reproduction
Start a vulnerable server:
rclone rcd --rc-addr 127.0.0.1:5572No --rc-user, no --rc-pass, no --rc-htpasswd.
First confirm that a protected RC method is initially blocked:
curl -sS -X POST http://127.0.0.1:5572/config/listremotes \
-H 'Content-Type: application/json' \
--data '{}'Expected result: HTTP 403.
Use unauthenticated options/set to disable the auth gate:
curl -sS -X POST http://127.0.0.1:5572/options/set \
-H 'Content-Type: application/json' \
--data '{"rc":{"NoAuth":true}}'Expected result: HTTP 200 {}
Then call the same protected method again without credentials:
curl -sS -X POST http://127.0.0.1:5572/config/listremotes \
-H 'Content-Type: application/json' \
--data '{}'Expected result: HTTP 200 with a JSON response such as:
{"remotes":[]}Testing performed
This was successfully reproduced:
- on the tester's ocal test environment
- on a public amd64 Ubuntu host controlled by the tester
Using the public host, the following was confirmed:
- unauthenticated
options/setsuccessfully setrc.NoAuth=true - previously protected RC methods became callable without credentials
- the issue was reproducible through direct host execution
Impact
This is an authorization bypass on the RC administrative interface.
It can allow an unauthenticated network attacker, on a reachable RC deployment without global HTTP authentication, to disable the intended auth boundary for protected RC methods and gain access to sensitive configuration and operational functionality.
Depending on the enabled RC surface and runtime configuration, this can further enable higher-impact outcomes such as local file read, credential/config disclosure, filesystem enumeration, and command execution.
Executive ViewAI
CVE-2026-41176 is a critical authentication bypass in rclone's remote control API that allows unauthenticated attackers to gain full administrative access to RC endpoints by disabling authorization checks through configuration mutation. Organizations operating rclone v1.45+ with network-accessible RC endpoints without HTTP authentication are at immediate risk of unauthorized data access, modification, and deletion. This vulnerability bypasses rclone's intended access controls entirely, making it a priority for any deployment managing sensitive cloud storage or backup operations.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) Disable the RC API entirely on all rclone instances not operationally requiring remote control via removing --rc flag; (2) Bind RC listener to localhost or internal-only network interfaces only, never to 0.0.0.0 or public IPs; (3) Place RC endpoint behind HTTP Basic Authentication or OAuth2 reverse proxy (e.g., nginx, Caddy) to enforce authentication before traffic reaches rclone; (4) Implement network firewall rules restricting RC port access to administrative IP ranges; (5) Enable comprehensive audit logging of all RC API calls and monitor for unauthorized options/set invocations with rc.NoAuth parameters.
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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Affected Products (CPE)CVE.org
Same technique Authentication Bypass
View allVendor StatusVendor
SUSE
Severity: Critical| Product | Status |
|---|---|
| SUSE Package Hub 15 SP6 | Fixed |
| openSUSE Leap 15.6 | Fixed |
| openSUSE Leap 16.0 | Fixed |
| openSUSE Tumbleweed | Fixed |
| SUSE Package Hub 15 SP6 | Fixed |
GHSA-25qr-6mpr-f7qx
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB