Impact
Frappe Builder versions before 1.36.1 contain a server‑side request forgery flaw in builder/api.py. The function assert_not_private_url() only checks the initial hostname of a supplied URL, but the code later follows HTTP redirects with requests.get(url) and does not pin the IP address or enforce a timeout. Consequently an attacker can supply a public URL that redirects to a private or link‑local address, and the endpoint convert_to_webp, which does not require special permissions, will be used to retrieve that resource. This allows the attacker to access cloud metadata services, perform internal port scans, or cause a denial‑of‑service condition by causing a request to hang.
Affected Systems
The vulnerability affects the Frappe Builder application, specifically all releases older than 1.36.1. Administrators should verify which version is installed and plan to upgrade using the release available at v1.36.1 or later.
Risk and Exploitability
The CVSS score for this issue is 5.3, indicating moderate severity. An EPSS score is not reported, and the vulnerability is not listed in CISA’s KEV catalog, so the public probability of exploitation is currently unknown. The attack requires the attacker to be authenticated against the system and to have access to the convert_to_webp API. Once authenticated, the attacker can supply a malicious URL to trigger the SSRF mechanism and exploit the internal network or trigger a hang‑based DoS. Given the lack of redirect validation, IP pinning, and timeouts, attackers can reliably reach internal hosts without additional input from the victim.
OpenCVE Enrichment