CVEReports
CVEReports

Automated vulnerability intelligence platform. Comprehensive reports for high-severity CVEs generated by AI.

Product

  • Home
  • Sitemap
  • RSS Feed

Company

  • About
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CVEReports. All rights reserved.

Made with love by Amit Schendel & Alon Barad



CVE-2026-77637

CVE-2026-77637: Privilege Scope Bypass in Cloudreve Administrative Tools

Amit Schendel
Amit Schendel
Senior Security Researcher

Sep 23, 2026·6 min read·4 visits

Executive Summary (TL;DR)

Missing authorization checks in Cloudreve allow read-only administrators to trigger SMTP test emails and retrieve WOPI discovery settings.

CVE-2026-77637 is a privilege scope bypass vulnerability in Cloudreve. It allows authenticated clients possessing read-only administrative credentials to access sensitive administrative tool endpoints that should require write-level permissions.

Vulnerability Overview

Cloudreve utilizes Go's Gin framework to structure its application endpoints. Within this layout, the system organizes administrative control features under an 'admin' routing group located in routers/router.go. The routing group establishes a foundational authorization layer by checking for the ScopeAdminRead scope. This scope permits operations associated with viewing the system configuration, user list, and high-level platform diagnostics.

The attack surface consists of the endpoints exposed under the admin namespace, specifically within the sub-routing group admin/tool. These tools allow administrators to perform maintenance, validation, and integration tasks. An architectural failure in scope restriction allowed unprivileged access to these management functions.

This vulnerability, tracked as CVE-2026-77637 or GHSA-w89x-c962-c44g, represents a failure to apply authorization controls to sensitive endpoints. Specifically, the endpoints responsible for fetching Web Application Open Platform Interface configurations and dispatching test emails failed to enforce write-level authorization. Users or API integrations holding read-only administrative tokens could interact with these state-altering operations.

Root Cause Analysis

The root cause of CVE-2026-77637 lies in the omission of granular scope checks on nested sub-routes. The parent group admin enforces the read-only administrative scope. However, tasks that perform network requests or expose integration URLs require write-level permissions. In the Cloudreve authorization model, this check is implemented using the middleware.RequiredScopes function with the types.ScopeAdminWrite parameter.

Prior to the patch, the application routing setup did not append this middleware to the handler chains of tool.GET("wopi") and tool.POST("mail"). Since Gin groups inherit middleware from parents, these endpoints only required ScopeAdminRead for access. The lack of explicit write-scope validation meant that any API key or OAuth credential provisioned with read-only administrative access could trigger these actions.

This flaw highlights a structural design risk in manual route decoration. When authorization models require developers to manually add scope checks to every mutating endpoint, the risk of omission remains high. A secure-by-default routing configuration, which applies strict write restrictions to all nested routes unless explicitly exempted, would prevent this class of authorization failure.

Code Analysis

The vulnerability exists within the route registration sequence inside the initMasterRouter function in routers/router.go. Analyzing the repository commit history reveals how the endpoints were initially set up without the validation middleware.

Below is the vulnerable configuration for the two endpoints within the nested tool route group:

// Vulnerable Code Path in routers/router.go
tool := admin.Group("tool")
{
    // Endpoint to retrieve Web Application Open Platform Interface settings
    tool.GET("wopi",
        controllers.FromQuery[adminsvc.FetchWOPIDiscoveryService](adminsvc.FetchWOPIDiscoveryParamCtx{}),
        controllers.AdminFetchWopi,
    )
    // Endpoint to send a test email through the SMTP gateway
    tool.POST("mail",
        controllers.FromJSON[adminsvc.TestSMTPService](adminsvc.TestSMTPParamCtx{}),
        controllers.AdminSendTestMail,
    )
}

The corrected implementation in commit bce08f88e9d8f881e78fd18e7a6598b31922c492 inserts the scope-enforcing middleware explicitly before the controller functions are invoked:

// Patched Code Path in routers/router.go
tool := admin.Group("tool")
{
    tool.GET("wopi",
        // Fix: Enforce write privilege scope before calling the controller
        middleware.RequiredScopes(types.ScopeAdminWrite),
        controllers.FromQuery[adminsvc.FetchWOPIDiscoveryService](adminsvc.FetchWOPIDiscoveryParamCtx{}),
        controllers.AdminFetchWopi,
    )
    tool.POST("mail",
        // Fix: Enforce write privilege scope before initiating SMTP connection
        middleware.RequiredScopes(types.ScopeAdminWrite),
        controllers.FromJSON[adminsvc.TestSMTPService](adminsvc.TestSMTPParamCtx{}),
        controllers.AdminSendTestMail,
    )
}

This modification ensures that Gin processes the RequiredScopes middleware first. If the client credentials do not match the required administrative write privileges, the middleware aborts the request chain with an HTTP 403 Forbidden response and prevents access to the controller.

Exploitation and Attack Scenarios

Exploitation of CVE-2026-77637 requires an active administrative session or API credential possessing the Admin.Read scope. An attacker with standard user-level access cannot exploit these routes directly. Once the appropriate credential is secure, the attack proceeds through direct HTTP interaction with the backend routing interface.

In the first scenario, an attacker targets the SMTP testing endpoint /api/v4/admin/tool/mail using a POST request. The request payload contains parameter values for the destination email, SMTP server, port, username, password, and security configuration. The backend receives the payload, bypasses the write authorization check, and commands the server to dispatch an email. This behavior allows attackers to verify internal SMTP configuration details or utilize the server for unauthorized email relaying.

In the second scenario, the attacker targets the WOPI discovery endpoint at /api/v4/admin/tool/wopi using a GET request. The application processes the query, retrieves the configuration, and returns the endpoint metadata associated with online document viewer integrations. This leaks internal network targets and resource paths to the authenticated read-only client.

Impact Assessment

The security impact of this vulnerability is categorized as low because it requires administrative credentials to exploit. However, in environments utilizing granular delegated permissions or automation accounts, this flaw breaches security compartmentalization. Read-only tokens are often assigned to automated monitoring systems or read-only dashboards, which should not possess execution capabilities.

By exploiting the SMTP testing interface, an attacker can perform outbound spam or phishing campaigns that appear to originate from a trusted domain. Additionally, attackers can use the interface to bruteforce and test SMTP configurations or scan internal mail servers. This capability compromises network reputation and risks domain blacklisting.

Exposing the WOPI details leaks configurations that map internal server URLs and integration architectures. The exposure provides mapping information that an attacker can utilize during the reconnaissance phase of a larger target exploitation sequence.

Remediation and Mitigation

The primary remediation for this vulnerability is to upgrade Cloudreve to version 4.18.0 or later. This version contains the required routing updates that enforce correct scope boundaries. Software administrators should download and verify the updated release from the official repository.

If upgrading immediately is not possible, administrators should apply defensive network controls. Implement egress firewall rules to restrict outbound SMTP connections from the Cloudreve host, limiting traffic to trusted email relays. This step mitigates the unauthorized utilization of the mail tool.

Conduct a review of all active API keys and OAuth tokens within the platform. Any tokens provisioned with administrative privileges must be audited to ensure that read-only accounts cannot access administrative write-level API paths. Revoke unnecessary or high-privilege keys that do not align with the principle of least privilege.

Official Patches

CloudreveGitHub Security Advisory GHSA-w89x-c962-c44g
CloudreveFix Commit

Fix Analysis (1)

Technical Appendix

CVSS Score
3.8/ 10
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:N

Affected Systems

Cloudreve

Affected Versions Detail

Product
Affected Versions
Fixed Version
Cloudreve
Cloudreve
< 4.18.04.18.0
AttributeDetail
CWE IDCWE-862 (Missing Authorization)
Attack VectorNetwork (AV:N)
CVSS v3.1 Score3.8 (Low)
Exploit StatusNone (No public exploit available)
CISA KEV StatusNot Listed
ImpactLow (Bypasses administrative write protections)

MITRE ATT&CK Mapping

T1068Exploitation for Privilege Escalation
Privilege Escalation
CWE-862
Missing Authorization

The product does not perform an authorization check when an actor attempts to access a resource or perform an action.

Vulnerability Timeline

Commit 1d091c4 addressing missing write scopes on other admin test nodes
2026-06-26
Commit bce08f8 securing the wopi and mail endpoints
2026-07-15
Public release of Cloudreve 4.18.0
2026-09-22
Coordinated disclosure of GHSA-w89x-c962-c44g and assignment of CVE-2026-77637
2026-09-22

References & Sources

  • [1]GitHub Security Advisory
  • [2]Fix Commit
  • [3]Cloudreve Release v4.18.0
  • [4]NVD CVE-2026-77637 Details
  • [5]CVE.org CVE-2026-77637 Record

Attack Flow Diagram

Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.

More Reports

•about 1 hour ago•CVE-2026-77633
7.1

CVE-2026-77633: Storage-quota Time-of-Check to Time-of-Use (TOCTOU) Race Condition in Cloudreve

Cloudreve before version 4.18.0 contains a Time-of-Check to Time-of-Use (TOCTOU) race condition in its storage-quota verification logic. Authenticated attackers with basic write access can trigger multiple parallel upload sessions to bypass their storage limits, leading to host disk space exhaustion and Denial of Service.

Alon Barad
Alon Barad
2 views•7 min read
•about 3 hours ago•CVE-2026-79767
5.5

CVE-2026-79767: Authorization Bypass in Gardener API Server admission plugin

An incorrect authorization vulnerability (CWE-863) in Gardener's customverbauthorizer admission plugin allows project administrators lacking the manage-members permission to inject arbitrary Group or ServiceAccount subjects, granting unauthorized access to project resources.

Alon Barad
Alon Barad
4 views•7 min read
•about 4 hours ago•CVE-2026-79913
6.5

CVE-2026-79913: Server-Side Request Forgery Bypass via IPv6 Transition Addresses in Cloudreve

Cloudreve versions prior to 4.18.0 contain a Server-Side Request Forgery (SSRF) vulnerability. The application's validation logic fails to canonicalize various IPv4-in-IPv6 transition formats, such as NAT64, 6to4, and Teredo addresses. Consequently, an authenticated user with remote-download permissions can issue requests that bypass SSRF network boundaries, enabling connection routing to loopback, private, or cloud metadata endpoints.

Amit Schendel
Amit Schendel
10 views•7 min read
•about 5 hours ago•CVE-2026-84298
3.1

CVE-2026-84298: Cross-Tenant Authorization Bypass and Information Disclosure in Hatchet V1 Dispatcher

Hatchet V1 Dispatcher before version 0.95.3 fails to enforce proper tenant boundaries when managing active stream connections for durable task completions. Because the global lookup map is keyed solely by task external identifiers, authenticated attackers who obtain a victim's task UUID can register a stream subscription and receive task results belonging to another tenant.

Amit Schendel
Amit Schendel
7 views•6 min read
•about 6 hours ago•CVE-2026-88978
4.3

CVE-2026-88978: Multi-Tenant Isolation Failure in Hatchet Durable Workflow Engine

CVE-2026-88978 is a critical cross-tenant data exposure vulnerability in Hatchet, a platform for orchestrating background tasks and durable workflows. The flaw exists in the durable-task event retrieval system where client-supplied task, node, and branch UUIDs are resolved via the ListSatisfiedEntries database query without verifying the tenant ownership of the requesting worker context.

Amit Schendel
Amit Schendel
6 views•7 min read
•about 7 hours ago•CVE-2026-88010
6.3

CVE-2026-88010: Unauthenticated Username-Enumeration Timing Oracle in Traefik BasicAuth Middleware

An unauthenticated timing oracle vulnerability exists in Traefik's BasicAuth middleware from version 3.6.11 up to (but not including) 3.7.13. By utilizing a request coalescing mechanism (singleflight.Group) that relies on server-side stored secret hashes for key generation, the software introduces a timing discrepancy. Concurrent requests targeting non-existent usernames generate identical singleflight keys and coalesce, resulting in accelerated response times. Conversely, requests targeting valid usernames produce distinct keys and execute independently, allowing remote attackers to systematically enumerate valid usernames.

Amit Schendel
Amit Schendel
8 views•7 min read