Skip to main content

Cloudreve CVE-2026-79913

| EUVDEUVD-2026-84527 MEDIUM
Server-Side Request Forgery (SSRF) (CWE-918)
2026-09-22 GitHub_M GHSA-jvh5-97xg-v99f
6.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Authenticate with remote-download privilege
  2. Delivery
    Craft SrcUri with NAT64/6to4/Teredo IPv4-in-IPv6 wrapper
  3. Exploit
    Submit RemoteDownloadTask.createDownloadTask
  4. Execution
    Guard misclassifies wrapper as public IP
  5. Persist
    Server fetches internal/metadata endpoint
  6. Impact
    Exfiltrate cloud credentials and internal responses

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Credential Access

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

Exploitation Conditions

Requires an authenticated Cloudreve account (prior to 4.18.0) that has been granted remote-download access, since the sink is SrcUri in RemoteDownloadTask.createDownloadTask. The attacker must supply the target as an IPv4-in-IPv6 transition form - NAT64 well-known prefix 64:ff9b::/96, 6to4 2002::/16, Teredo 2001:0000::/32, or the deprecated IPv4-compatible ::a.b.c.d - wrapping a loopback, private, link-local, or cloud-metadata IPv4. Exploitation is LIMITED by: (1) required authentication plus remote-download privilege (PR:L); (2) IPv4-mapped ::ffff:a.b.c.d forms are already blocked because Go's net.IP.To4 normalizes them, so that vector does not work; (3) the fetch host's network must actually route the chosen transition form to the embedded IPv4, making cloud/NAT64/dual-stack deployments the realistic targets. High-value impact (instance credential theft) applies specifically to cloud-hosted instances exposing a metadata service.

Impact

This is a moderate, credible SSRF (CWE-918) whose real-world risk is meaningfully bounded by its prerequisites rather than by raw score. The vendor CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N = 6.5 Medium) is internally consistent with the description: network-reachable, low complexity, but requiring an authenticated account that holds remote-download privilege (PR:L). C:H is justified because the primary payoff is reading internal service responses and cloud instance metadata credentials (e.g., 169.254.169.254), while I:N/A:N are correct since the flaw only reads. No EPSS score, KEV listing, or public POC was provided, so exploitation status is 'no public exploit identified at time of analysis' - this is not a confirmed-in-the-wild issue. The counterweight to the medium score is that the bug is a specific and elegant filter-bypass: the guard already blocked IPv4-mapped ::ffff: forms, and the fix (commit 1c5cad6d) shows the attacker must know to use NAT64, 6to4, Teredo, or IPv4-compatible IPv6 wrappers, AND the fetch must be performed on a host whose network stack actually routes those transition forms to the embedded IPv4 (NAT64 gateways, dual-stack cloud hosts). Net: a real, patch-worthy issue most dangerous on cloud-hosted Cloudreve instances with instance-metadata exposure, but gated behind authentication and a non-trivial address-encoding trick rather than a spray-and-pray internet threat.

Exploit ScenarioDerived

An authenticated user who has been granted remote-download rights on a cloud-hosted Cloudreve instance submits a download task with SrcUri set to a URL whose host is an IPv4-in-IPv6 wrapper such as http://[64:ff9b::a9fe:a9fe]/latest/meta-data/ (NAT64-encoding 169.254.169.254). The SSRF guard classifies the outer IPv6 address as public, the server fetches it, and the metadata-service response - including cloud instance credentials - is exposed back to the attacker. No public POC or KEV entry exists, and the low CVSS complexity is offset by the required remote-download privilege and a network path that routes the transition form.

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

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

Alert me

AnalysisAIv1 – Sep 22, 2026

Server-side request forgery in Cloudreve prior to 4.18.0 allows an authenticated user with remote-download privileges to bypass the ValidateExternalURL guard and make the server fetch loopback, private, link-local, or cloud-metadata IPv4 addresses that are wrapped inside IPv4-in-IPv6 transition forms - NAT64 64:ff9b::/96, 6to4 2002::/16, Teredo 2001:0000::/32, or the deprecated IPv4-compatible ::a.b.c.d - because the guard classifies the wrapper rather than the address actually reached. The vulnerability is reachable through SrcUri in RemoteDownloadTask.createDownloadTask and requires authentication (CVSS PR:L), so it is not remotely exploitable by an anonymous attacker; exploitation also depends on the fetch host's network actually routing the chosen transition form to the embedded IPv4, making NAT64, dual-stack, and cloud-hosted deployments the realistic targets. Where a cloud metadata service is reachable, a successful request can return internal service responses and expose instance credentials; no public exploit code has been identified at time of analysis, and the issue is fixed in version 4.18.0.

RemediationAI

Vendor-released patch: upgrade Cloudreve to 4.18.0 or later, which adds the effectiveIP() normalization step that decodes NAT64 64:ff9b::/96, 6to4 2002::/16, Teredo 2001:0000::/32, and IPv4-compatible ::a.b.c.d forms before the SSRF class check; see the release notes at https://github.com/cloudreve/cloudreve/releases/tag/4.18.0, the fix commit at https://github.com/cloudreve/cloudreve/commit/1c5cad6dec7ec3037c6479e3a26a3909995d16a2, and the advisory at https://github.com/cloudreve/cloudreve/security/advisories/GHSA-jvh5-97xg-v99f. If you cannot upgrade immediately, the highest-value compensating control is to revoke the remote-download privilege from untrusted or non-administrative accounts, since the sink requires both authentication and remote-download access - the trade-off is loss of that feature for those users. Enforce outbound egress filtering from the Cloudreve host that denies traffic to loopback, RFC1918, link-local, and especially 169.254.169.254/169.254.0.0/16 and other metadata ranges, and block outbound connections to the IPv6 transition prefixes (64:ff9b::/96, 2002::/16, 2001:0000::/32 and other 2001::/32 space) if they are not operationally required; the trade-off is that legitimate remote-download and federation targets reached through those ranges will also fail. On AWS, enforce IMDSv2 with a low hop limit and a restricted token, and apply equivalent metadata hardening on other providers, so that even a successful SSRF yields a non-replayable or unusable response. Finally, network-level monitoring of requests to internal and metadata addresses originating from the Cloudreve process can detect attempted exploitation of unpatched instances.

Affected VersionsENISA

Cloudreve < 4.18.0

Affected Packages

go github.com/cloudreve/cloudreve no fix
go github.com/cloudreve/cloudreve/v3 no fix
go github.com/cloudreve/cloudreve/v4 fix: 4.0.0-20260715072853-1c5cad6dec7e
euvd cloudreve fix: 4.18.0

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 is a self-hosted file management and sharing system written in Go, and the affected code is its outbound-request SSRF guard in pkg/request/ssrf.go (CWE-918, Server-Side Request Forgery). The guard resolves a user-supplied URL and passes each resolved address to checkIP/checkIPWithAllowlist, which relies on Go's net.IP classifiers such as IsLoopback, IsPrivate, and IsLinkLocalUnicast. Those built-ins inspect only the outer address form, so an IPv6 address that merely embeds a disallowed IPv4 target is treated as an ordinary public IPv6 address. The fix introduces an effectiveIP() normalizer that unwraps IPv4-in-IPv6 transition encodings to the IPv4 address the packet ultimately reaches before the allowlist and class checks run. It handles the NAT64 well-known prefix 64:ff9b::/96 (RFC 6052 §2.1), where the IPv4 address occupies the final 32 bits; 6to4 2002::/16 (RFC 3056), where bytes 2-5 carry the embedded IPv4; Teredo 2001:0000::/32 (RFC 4380), where the client IPv4 is the last 32 bits XORed with 0xff; and IPv4-compatible ::a.b.c.d (RFC 4291 §2.5.5.1, deprecated), skipping :: and ::1 so unspecified and loopback IPv6 are still caught by the outer classifier. Notably, IPv4-mapped ::ffff:a.b.c.d addresses were never bypassable because Go's net.IP.To4 already converts that form, which is why the advisory calls out the other transition forms specifically. The repository is identified in the CPE data as cpe:2.3:a:cloudreve:cloudreve:*:*:*:*:*:*:*:*.

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 (GitHub_M) PRIMARY 6.5 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 6.5 MEDIUM

Network-reachable low-complexity SSRF requiring an authenticated remote-download account (PR:L); confidentiality-only via internal/metadata disclosure, no integrity or availability impact.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

Lifecycle Timeline

1
Patch available
Sep 22, 2026 - 17:17 EUVD

DescriptionCVE.org

Cloudreve is a self-hosted file management and sharing system. Prior to 4.18.0, the ValidateExternalURL server-side request forgery guard in pkg/request/ssrf.go passes resolved addresses to checkIP without decoding NAT64, IPv4-compatible, and 6to4 IPv4-in-IPv6 transition forms. An authenticated user with remote-download access can provide SrcUri through RemoteDownloadTask.createDownloadTask so a wrapper embedding a loopback, private, link-local, or cloud metadata IPv4 address is classified as public and fetched, exposing internal service responses and cloud instance credentials. IPv4-mapped IPv6 addresses remain blocked because Go converts that form with net.IP.To4. This issue is fixed in version 4.18.0.

Threat Intelligence Overview

EPSS Score
0.4%
Top 66% exploitable
Prevalence
Low
popular open-source self-hosted file manager but modest real production footprint
Threat Intel
1
1 sources
Exploit
POC
Public exploit code exists
Data Quality
5 sources
Confidence: Medium
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub

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 Yes
EPSS 0.4%
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
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.

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