Skip to content
Heist/ feed
MediumFix available

Cloudreve Admin.Read OAuth tokens can trigger server-side node test requests

Type: advisorySource: OSV1 source record

## Summary Cloudreve exposes two admin node test endpoints under the `Admin.Read` OAuth scope. These endpoints accept attacker-controlled node definitions and cause Cloudreve to make outbound server-side network requests. This allows an OAuth client authorized only for `Admin.Read` to trigger operational network actions that should require `Admin.Write`. ## Impact An attacker who obtains an admin-authorized OAuth token with `Admin.Read` but not `Admin.Write` can make the Cloudreve server connect to arbitrary URLs supplied in the request body. This can be used for blind SSRF, internal service probing, and triggering signed Cloudreve slave-style requests to attacker-chosen endpoints. ## Affected version Verified in source and runtime on latest master commit `ba2e870bbd17f1918dd2321de861e453f696d6a3` and latest observed tag `4.16.1`. ## Technical details The authenticated admin route group requires only `Admin.Read`: ```go auth := v4.Group("") auth.Use(middleware.LoginRequired()) auth.Use(middleware.RequiredScopes(types.ScopeAdminRead)) admin := auth.Group("admin", middleware.IsAdmin()) ``` The following routes are registered without `ScopeAdminWrite`: ```go node.POST("test", controllers.FromJSON[adminsvc.TestNodeService](adminsvc.TestNodeParamCtx{}), controllers.AdminTestSlave, ) node.POST("test/downloader", controllers.FromJSON[adminsvc.TestNodeDownloaderService](adminsvc.TestNodeDownloaderParamCtx{}), controllers.AdminTestDownloader, ) ``` By contrast, node create, update, an

Announced Group revision 1
Original source ↗

GHSA-v6w6-358x-2433

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: osv:GHSA-v6w6-358x-2433

github.com/cloudreve/Cloudreve/v4

Source reference: /affected/0/package/name

Affected versions
Not stated in this record
Fixed versions
4.0.0-20260626022735-332a9d800205

Source reference: /affected/0/ranges

Prerequisites
Not stated in this record

github.com/cloudreve/Cloudreve/v3

Source reference: /affected/1/package/name

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "ranges": [
      {
        "type": "SEMVER",
        "events": [
          {
            "introduced": "0"
          },
          {
            "fixed": "4.0.0-20260626022735-332a9d800205"
          }
        ]
      }
    ],
    "package": {
      "name": "github.com/cloudreve/Cloudreve/v4",
      "purl": "pkg:golang/github.com/cloudreve/Cloudreve/v4",
      "ecosystem": "Go"
    },
    "database_specific": {
      "source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/07/GHSA-v6w6-358x-2433/GHSA-v6w6-358x-2433.json"
    }
  },
  {
    "ranges": [
      {
        "type": "SEMVER",
        "events": [
          {
            "introduced": "0"
          },
          {
            "last_affected": "3.0.0-20250225100611-da4e44b77af4"
          }
        ]
      }
    ],
    "package": {
      "name": "github.com/cloudreve/Cloudreve/v3",
      "purl": "pkg:golang/github.com/cloudreve/Cloudreve/v3",
      "ecosystem": "Go"
    },
    "database_specific": {
      "source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/07/GHSA-v6w6-358x-2433/GHSA-v6w6-358x-2433.json"
    }
  }
]
Related CVEs
CVE-2026-101048

Source reference: /aliases

Publisher severity

No explicit severity was provided.

Linked CVE context

These ratings describe the referenced vulnerabilities and products. They are not a severity rating for every application using this dependency.

Event
#21140 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement