[ CVE-2026-79913 · Published 22 Sep 2026 ]

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

CVSS 6.5 EPSS <1%Fix available

[ Description ]Official 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.

[ Fixes ]Fixes and patches

[ Packages ]Affected open-source packages

  • github.com/cloudreve/Cloudreve/v4 goAffected < 4.0.0-20260715072853-1c5cad6dec7e · fixed in 4.0.0-20260715072853-1c5cad6dec7e · GHSA-jvh5-97xg-v99f