Skip to content
OpenAdvisories
Medium · 6.5 CVE-2026-79913 EUVD-2026-84527GHSA-jvh5-97xg-v99fGO-2026-6572

Cloudreve: SSRF guard bypass: checkIP does not decode IPv6-transition wrappers (NAT64, IPv4-compatible, 6to4) reaching internal and cloud-metadata addresses

Published Sep 22, 2026 · Updated Sep 22, 2026 · Assigned by GitHub_M

Description

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.

Affected products

VendorProductAffectedFixed
cloudreve cloudreve < 4.18.0 —

Affected packages

EcosystemPackageAffectedFixedRecord
Go github.com/cloudreve/Cloudreve all versions — GO-2026-6572
Go github.com/cloudreve/Cloudreve/v3 all versions — GO-2026-6572
Go github.com/cloudreve/Cloudreve/v4 < 4.0.0-20260715072853-1c5cad6dec7e 4.0.0-20260715072853-1c5cad6dec7e GHSA-jvh5-97xg-v99f

References