Skip to main content

Cloudreve EUVDEUVD-2026-87981

| CVE-2026-101056 MEDIUM
Incorrect Authorization (CWE-863)
2026-09-27 VulnCheck GHSA-qh53-mf6v-496j
6.9
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Obtain valid share access and list files
  2. Delivery
    Cache context_hint UUID and known file URIs
  3. Exploit
    Owner deletes/expires the share
  4. Execution
    Replay hint on file/url with X-Cr-Context-Hint header
  5. Persist
    shareNavigator restores cached state, skips Root revalidation
  6. Impact
    Mint signed file URLs and download revoked content

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the attacker to have held valid access to a specific Cloudreve share and to know a target file URI from a prior file listing (the context_hint UUID and FileResponse.Path are leaked in list responses). The attacker must pre-warm the context_hint by hitting file/url or file/thumb while access is still valid, so DBFS caches shareNavigatorState. The bypass then only works for up to 300 seconds (ContextHintTTL = 5*60) after the share is deleted, expires, or reaches zero remaining downloads, plus any signed-entity-URL lifetime minted in that window. It does NOT allow discovery of unknown or never-accessed share contents. Limiting factors: prior authorized access, knowledge of file URIs, a pre-warmed hint, and a strict ~5-minute race window - a password-protected share's password check is also among the controls skipped only for already-known content.

Impact

This is a genuine but narrowly-scoped access-control flaw (CWE-863) rated moderate. The vendor CVSS 4.0 vector (AV:N/AC:L/PR:N/UI:N) yields 6.9 by treating the attack as trivially remote and unauthenticated, but the advisory itself constrains this heavily: the attacker MUST already have had legitimate share access, MUST know the target file URI from a prior listing, MUST have pre-warmed a context_hint while access was valid, and only has a ~300-second window after revocation/expiry. That makes real-world attack complexity higher than AC:L suggests - this is a revocation/expiry-bypass race, not open unauthenticated data exposure. No EPSS score, no CISA KEV listing, and no public exploit code are present in the input, so there is no evidence of active or automated exploitation. Impact is confidentiality-only and low (VC:L): the attacker re-accesses files they already had access to for a brief window; there is no integrity or availability impact and no discovery of unknown share contents. Net: a real correctness/security bug worth patching, but a low practical priority - not a high-CVSS-but-hollow finding, rather a moderate score whose preconditions make widespread abuse unlikely.

Exploit ScenarioDerived

A user is granted access to a Cloudreve share, browses it, and their client silently caches a context_hint UUID plus known file URIs. The owner then deletes the share (or it expires / hits zero remaining downloads), but the ex-recipient replays the cached hint against the file/url route and continues minting valid signed download URLs for up to 300 seconds - plus the lifetime of any signed entity URL created in that window. No public exploit code is identified at time of analysis.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Sep 27, 2026

Revoked, expired, or download-limit-exhausted Cloudreve shares can still be mined for signed file URLs for up to 300 seconds because the file/url and file/thumb routes trust a client-supplied context_hint UUID and restore cached share navigator state without re-running the share validity or password checks (CWE-863, incorrectly cached authorization). All Cloudreve releases before 4.16.1 are affected; the independent assessment rates this moderate (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N), with remote attackers (CVSS PR:N) needing prior valid access to the share, knowledge of the target file URI from an earlier listing, and a pre-warmed hint, so this is a revocation/expiry bypass for already-known content rather than a way to discover unknown share contents. No public exploit code or confirmed in-the-wild exploitation was identified at time of analysis, and a vendor patch is available.

RemediationAI

Vendor-released patch: upgrade to Cloudreve 4.16.1, which is the first release that revalidates share access instead of trusting the cached context hint; all versions before 4.16.1 remain vulnerable. Apply per the GitHub advisory at https://github.com/cloudreve/cloudreve/security/advisories/GHSA-vx2m-jpxr-xv7w and the VulnCheck advisory at https://www.vulncheck.com/advisories/cloudreve-before-4.16.1-authentication-bypass-via-cached-context-hint. If the upgrade cannot be deployed immediately, the most direct compensating control is to strip or reject the X-Cr-Context-Hint header on requests to the file/url and file/thumb endpoints at a reverse proxy or WAF, which forces a hint cache miss so shareNavigator.Root re-runs inventory.IsValidShare and the password check on every request; the trade-off is losing the hint's performance optimization and adding full share-validation overhead to those calls. Because signed entity URLs minted inside the 300-second ContextHintTTL window stay valid for their own lifetime, shorten signed-URL TTLs where that is configurable and treat any signed URL issued shortly before a share was revoked as still live. Also monitor or alert on X-Cr-Context-Hint requests that target shares which have been deleted, expired, or reached zero remaining downloads, and, where the deployment allows flushing DBFS cached navigator state (for example by restarting the service or clearing the cache backend that holds persisted navigator state), do so immediately after revoking a share to shrink the residual leak window; note that this is an operational workaround with potential session-cache impact, not a substitute for patching.

Affected VersionsENISA

Cloudreve 0 <4.16.1

Affected Packages

go github.com/cloudreve/cloudreve no fix
go github.com/cloudreve/cloudreve/v3 no fix
go github.com/cloudreve/cloudreve/v4 no fix
euvd cloudreve fix: 4.16.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 4 packages in go, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Cloudreve's file-listing responses hand the client a per-session context_hint UUID plus each file's path/URI (service/explorer/response.go populates ListResponse.ContextHint and FileResponse.Path), intended only to accelerate follow-up operations. In routers/router.go the routes file.POST("url", middleware.ContextHint(), ...) and file.GET("thumb", middleware.ContextHint(), ...) are gated solely by middleware.RequiredScopes(types.ScopeFilesRead); there is no independent share-validation middleware on them, and middleware/file.go copies the X-Cr-Context-Hint header verbatim into the request context as a UUID. When the hint is first used, DBFS caches a shareNavigatorState holding the already-loaded share root and share row (dbfs.go, ContextHintTTL = 5*60 = 300 s, persisted via the PersistState closure that fires in DBFS.Recycle()). On any later request carrying the same hint, shareNavigator.RestoreState repopulates shareRoot and shareNavigator.To short-circuits past Root, which is the only code path that calls inventory.IsValidShare (share expiry, remaining-download count, owner status, source-file validity) and performs the share password check. The root-cause class is CWE-863 (Incorrect Authorization): an authorization decision cached beyond the lifetime of the authorization it represents, producing a time-bounded revocation bypass. Note the discrepancy between the CVE record's CVSS 4.0 base score of 6.9 (AV:N/AC:L/PR:N/UI:N/VC:L) and the authoritative internal assessment's CVSS 3.1 vector of AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N, which emphasizes the prior-access and ~5-minute race prerequisites; coverage metadata includes CPE cpe:2.3:a:cloudreve:cloudreve:*:*:*:*:*:*:*:* and the Go module go/github.com/cloudreve/Cloudreve/v4, listed in the advisory as vulnerable at <= 4.0.0-20260606032813-26b6b1044b02, with the flaw verified at commit 26b6b10.

Know when Cloudreve gets its next vulnerability

  • 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 (VulnCheck) PRIMARY 6.9 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 3.7 LOW

Network-reachable and no auth to replay a public-share hint (PR:N), but the prewarmed-hint plus ~300s race window and required prior access make it AC:H; confidentiality-only, low (C:L).

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:H/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

Lifecycle Timeline

1
Patch available
Sep 27, 2026 - 18:01 EUVD

DescriptionCVE.org

Cloudreve before 4.16.1 fails to revalidate share access when restoring cached navigator state from a context_hint UUID. Attackers who previously had valid share access can replay the cached hint to generate signed file URLs for up to 300 seconds after the share is deleted, expires, or reaches zero remaining downloads.

Threat Intelligence Overview

EPSS Score
0.2%
Top 92% exploitable
Prevalence
Low
self-hosted open-source cloud storage, niche deployment footprint
Data Quality
6 sources
Confidence: High

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
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· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: 0
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.

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