Description
Monsta FTP before 2.14.5 contains a server-side request forgery vulnerability in the fetchRemoteFile action caused by an incomplete IP blocklist check in the isBlockedIP() function, which fails to detect embedded IPv4 addresses within IPv4-mapped IPv6 addresses. An unauthenticated attacker can obtain a CSRF token from the public getSystemVars endpoint and submit a fetchRemoteFile request with a source URL resolving to an IPv4-mapped address, causing the server to issue HTTP requests to internal services and write responses to an attacker-controlled FTP destination, enabling retrieval of cloud instance metadata credentials.
Problem types
Server-Side Request Forgery (SSRF)
Product status
Any version before 2.14.5
Credits
Valentin Lobstein (Chocapikk)
VulnCheck
References
www.monstaftp.com/notes/ (Release Notes)
www.vulncheck.com/...srf-via-ipv4-mapped-ipv6-address-bypass