/

CVE-2026-41176

Severity:

CRITICAL RISK

(9.8)

Missing Authentication for Critical Function in Rclone RC

CVE-2026-41176

Modified

Vulnerability type

Category:

Missing Authentication for Critical Function

CWE:

CWE-306, CWE-15

Impact:

Unauthorized Administrative Access and Configuration Manipulation

Severity:

CRITICAL RISK

(9.8)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

A missing authentication control on the options/set RC endpoint in Rclone allows unauthenticated callers to change global runtime options, including RC authentication settings.

On RC servers started without global HTTP authentication, an attacker can set rc.NoAuth=true, silently disabling authorization checks for many privileged RC methods and gaining access to sensitive administrative functionality.

A missing authentication control on the options/set RC endpoint in Rclone allows unauthenticated callers to change global runtime options, including RC authentication settings.

On RC servers started without global HTTP authentication, an attacker can set rc.NoAuth=true, silently disabling authorization checks for many privileged RC methods and gaining access to sensitive administrative functionality.

Affected context

This vulnerability affects Rclone instances exposing the remote control (RC) HTTP endpoint where:

  • The options/set endpoint is reachable over the network, and
  • The RC server is started without global HTTP authentication, and
  • Default or existing configuration allows options/set to be called without additional access controls.

In such deployments, the RC endpoint is effectively exposed as a management API, but the options/set handler does not enforce authentication before mutating sensitive runtime configuration.

This vulnerability affects Rclone instances exposing the remote control (RC) HTTP endpoint where:

  • The options/set endpoint is reachable over the network, and
  • The RC server is started without global HTTP authentication, and
  • Default or existing configuration allows options/set to be called without additional access controls.

In such deployments, the RC endpoint is effectively exposed as a management API, but the options/set handler does not enforce authentication before mutating sensitive runtime configuration.

Exploit preconditions

  • Attack surface: Network-accessible Rclone RC HTTP endpoint.
  • Required access: Ability to send HTTP requests to the RC port; no prior authentication required when RC is started without global HTTP auth.
  • Trigger point: Invocation of the options/set RC method to modify global options, including rc.NoAuth.
  • Why exploitation is possible: The options/set handler is not registered with AuthRequired: true, yet it controls security-critical options. This allows an unauthenticated caller to disable the authorization gate for many other RC methods that were intended to require authentication.
  • Attack surface: Network-accessible Rclone RC HTTP endpoint.
  • Required access: Ability to send HTTP requests to the RC port; no prior authentication required when RC is started without global HTTP auth.
  • Trigger point: Invocation of the options/set RC method to modify global options, including rc.NoAuth.
  • Why exploitation is possible: The options/set handler is not registered with AuthRequired: true, yet it controls security-critical options. This allows an unauthenticated caller to disable the authorization gate for many other RC methods that were intended to require authentication.

Why this happens

The core issue is an authorization design flaw: a security-sensitive management endpoint (options/set) is exposed without authentication while controlling global security options.

This maps to CWE-306: Missing Authentication for Critical Function, where a function performing privileged actions (in this case, modifying runtime configuration and RC auth behavior) is not protected by appropriate authentication checks.

At an architectural level, the configuration API that governs access control is treated like any other operational endpoint, rather than being isolated or locked behind stronger guarantees, enabling privilege escalation from unauthenticated to fully privileged RC access.

The core issue is an authorization design flaw: a security-sensitive management endpoint (options/set) is exposed without authentication while controlling global security options.

This maps to CWE-306: Missing Authentication for Critical Function, where a function performing privileged actions (in this case, modifying runtime configuration and RC auth behavior) is not protected by appropriate authentication checks.

At an architectural level, the configuration API that governs access control is treated like any other operational endpoint, rather than being isolated or locked behind stronger guarantees, enabling privilege escalation from unauthenticated to fully privileged RC access.

Potential impact

  • Unauthenticated enabling of rc.NoAuth=true, disabling auth for many RC methods.
  • Unauthorized access to sensitive administrative RC methods (e.g., configuration changes, operational controls).
  • Modification of synchronization settings, remotes, or targets, potentially leading to data exposure or data loss.
  • Abuse of Rclone as an internal pivot to list, read, or manipulate files in connected cloud storage providers.
  • Disruption of backup, sync, or migration workflows by altering runtime behavior or shutting down operations.
  • Unauthenticated enabling of rc.NoAuth=true, disabling auth for many RC methods.
  • Unauthorized access to sensitive administrative RC methods (e.g., configuration changes, operational controls).
  • Modification of synchronization settings, remotes, or targets, potentially leading to data exposure or data loss.
  • Abuse of Rclone as an internal pivot to list, read, or manipulate files in connected cloud storage providers.
  • Disruption of backup, sync, or migration workflows by altering runtime behavior or shutting down operations.

General mitigation guidance

Mitigation typically focuses on hardening the RC surface and separating security controls from unauthenticated endpoints:

  • Treat RC as a management API and ensure it always requires strong authentication and, where possible, network-level access restrictions (e.g., binding to localhost, using VPNs or reverse proxies with auth).
  • Ensure that endpoints capable of altering authentication or global security options are themselves protected by mandatory authentication and cannot be toggled from unauthenticated contexts.
  • Apply the principle of least privilege to runtime configuration: limit which options can be changed dynamically and segregate high-impact security options from general operational settings.
  • Prefer secure-by-default RC configurations that require explicit, conscious steps to relax authentication or broaden network exposure.
  • Regularly review management interfaces and options that control authentication to ensure they cannot be weakened at runtime by lower-privileged actors.

Mitigation typically focuses on hardening the RC surface and separating security controls from unauthenticated endpoints:

  • Treat RC as a management API and ensure it always requires strong authentication and, where possible, network-level access restrictions (e.g., binding to localhost, using VPNs or reverse proxies with auth).
  • Ensure that endpoints capable of altering authentication or global security options are themselves protected by mandatory authentication and cannot be toggled from unauthenticated contexts.
  • Apply the principle of least privilege to runtime configuration: limit which options can be changed dynamically and segregate high-impact security options from general operational settings.
  • Prefer secure-by-default RC configurations that require explicit, conscious steps to relax authentication or broaden network exposure.
  • Regularly review management interfaces and options that control authentication to ensure they cannot be weakened at runtime by lower-privileged actors.

How teams detect issues like this

Organizations can detect and monitor this class of issue using a combination of code-level and operational strategies:

  • Static analysis / code review: Flag RC or HTTP handlers that:
  • Are capable of modifying authentication- or authorization-related options.
  • Are not explicitly wrapped with authentication/authorization middleware (e.g., missing AuthRequired: true or equivalent).
  • Configuration and deployment review: Periodically audit Rclone startup parameters and RC configuration to verify:
  • The RC listener is not exposed beyond intended network scopes.
  • Authentication is enforced for all management endpoints.
  • Runtime monitoring: Log and monitor RC calls, especially to configuration or options endpoints, and alert on:
  • Unauthenticated or unexpected calls to options/set.
  • Changes to security-sensitive options such as rc.NoAuth.
  • Policy enforcement: Incorporate automated checks in deployment pipelines that prevent starting RC services without authentication in non-development environments.

Organizations can detect and monitor this class of issue using a combination of code-level and operational strategies:

  • Static analysis / code review: Flag RC or HTTP handlers that:
  • Are capable of modifying authentication- or authorization-related options.
  • Are not explicitly wrapped with authentication/authorization middleware (e.g., missing AuthRequired: true or equivalent).
  • Configuration and deployment review: Periodically audit Rclone startup parameters and RC configuration to verify:
  • The RC listener is not exposed beyond intended network scopes.
  • Authentication is enforced for all management endpoints.
  • Runtime monitoring: Log and monitor RC calls, especially to configuration or options endpoints, and alert on:
  • Unauthenticated or unexpected calls to options/set.
  • Changes to security-sensitive options such as rc.NoAuth.
  • Policy enforcement: Incorporate automated checks in deployment pipelines that prevent starting RC services without authentication in non-development environments.

Sources

SourceLink
github.comgithub.com/rclone/rclone/blob/bf55d5e6d37fd86164a87782191f9e1ffcaafa82/fs/rc/config.go
github.comgithub.com/rclone/rclone/blob/bf55d5e6d37fd86164a87782191f9e1ffcaafa82/fs/rc/rcserver/rcserver.go
github.comgithub.com/rclone/rclone/security/advisories/GHSA-25qr-6mpr-f7qx
access.redhat.comaccess.redhat.com/security/cve/CVE-2026-41176
bugzilla.redhat.combugzilla.redhat.com/show_bug.cgi?id=2460989
security.access.redhat.comsecurity.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-41176.json

Frequently asked

questions

Yes, if the RC endpoint is network-accessible and started without global HTTP authentication, a remote attacker who can reach the RC port can exploit this vulnerability without prior credentials.

The attacker only needs network-level access to the RC server (e.g., ability to send HTTP requests to the RC port). No initial authentication is required if the service is configured without global HTTP auth.

Ensure that all security-critical RC functions, especially those that can alter authentication or global configuration, are always protected by mandatory authentication and, ideally, additional network restrictions. Configuration endpoints that control auth state should never be callable from unauthenticated contexts.

Apply a systematic design approach where management and configuration APIs are:

  • Authenticated by default and never exposed unauthenticated.
  • Reviewed for any functions that can weaken or disable security controls.
  • Subject to security design reviews and automated checks that flag endpoints managing auth-related options when they lack explicit protection.

Yes, if the RC endpoint is network-accessible and started without global HTTP authentication, a remote attacker who can reach the RC port can exploit this vulnerability without prior credentials.

The attacker only needs network-level access to the RC server (e.g., ability to send HTTP requests to the RC port). No initial authentication is required if the service is configured without global HTTP auth.

Ensure that all security-critical RC functions, especially those that can alter authentication or global configuration, are always protected by mandatory authentication and, ideally, additional network restrictions. Configuration endpoints that control auth state should never be callable from unauthenticated contexts.

Apply a systematic design approach where management and configuration APIs are:

  • Authenticated by default and never exposed unauthenticated.
  • Reviewed for any functions that can weaken or disable security controls.
  • Subject to security design reviews and automated checks that flag endpoints managing auth-related options when they lack explicit protection.
Find out what's already
exploitable in your codebase.