Skip to main content

rclone CVE-2026-41176

CRITICAL
Missing Authentication for Critical Function (CWE-306)
2026-04-22 https://github.com/rclone/rclone GHSA-25qr-6mpr-f7qx
9.2
CVSS 4.0 · Vendor: https://github.com/rclone/rclone
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Network access to exposed RC port
  2. Delivery
    POST to /options/set with rc.NoAuth=true payload
  3. Exploit
    Authorization gate disabled runtime
  4. Execution
    POST to /config/dump for credential theft
  5. Persist
    POST to /operations/copyfile with command injection
  6. Impact
    Arbitrary 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.

Act Now Prioritize within 24-48h. Why: CRITICAL severity + public POC available.
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv2 – 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)
v1 Apr 22, 2026 - 15:01

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

go github.com/rclone/rclone fix: 1.73.5

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

Vendor (https://github.com/rclone/rclone) PRIMARY 9.2 CRITICAL
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
SUSE 9.8 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Red Hat 9.8 HIGH

Primary rating from Vendor (https://github.com/rclone/rclone).

CVSS VectorVendor: https://github.com/rclone/rclone

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

4
PoC Detected
Apr 27, 2026 - 18:19 vuln.today
Public exploit code
Patch released
Apr 23, 2026 - 02:30 nvd
Patch available
CVSS changed
Apr 23, 2026 - 00:22 NVD
9.2 (CRITICAL)
CVE Published
Apr 22, 2026 - 14:44 nvd
CRITICAL 9.2

DescriptionCVE.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 --rc flag or by running the rclone rcd server
  • The remote control API must be reachable by the attacker - by default rclone only serves the rc to localhost unless the --rc-addr flag 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:

  1. options/set is exposed without AuthRequired: true
  2. the RC server enforces authorization for AuthRequired calls using the mutable runtime value s.opt.NoAuth

Relevant code paths:

  • fs/rc/config.go
  • registers options/set without AuthRequired: true
  • rcOptionsSet reshapes attacker-controlled input into global option blocks
  • fs/rc/rcserver/rcserver.go
  • request handling checks:
  • if !s.opt.NoAuth && call.AuthRequired && !s.server.UsingAuth()
  • once rc.NoAuth is changed to true, later AuthRequired methods 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/listremotes
  • config/dump
  • config/get
  • operations/list
  • operations/copyfile
  • core/command

Relevant code for the second-stage command execution path:

  • fs/metadata.go
  • metadataMapper() uses exec.Command(...)
  • fs/operations/rc.go
  • operations/copyfile is normally AuthRequired: true
  • once rc.NoAuth=true, it becomes reachable without credentials

This was validating using the following:

  • current master as 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:

bash
rclone rcd --rc-addr 127.0.0.1:5572

No --rc-user, no --rc-pass, no --rc-htpasswd.

First confirm that a protected RC method is initially blocked:

bash
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:

bash
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:

bash
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:

json
{"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/set successfully set rc.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

Why It Matters

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.

Business Impact: Severe
Compensating Controls

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

EPSS Score
0.0%
Top 88% exploitable
Threat Intel
1
1 sources
Exploit
POC
Public exploit code exists
Data Quality
7 sources
Confidence: High
NVD CVE.org EPSS Vulnrichment GHSA POC (1) Vendor GitHub VulDB

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.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC Yes
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity + public POC available
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact
Very High
Technical Impact
Total

Priority Score

66
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +46
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

Affected Products (CPE)CVE.org

pkg:go/github.com_rclone_rclone

Vendor 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

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy