Frappe Builder before 1.36.1 SSRF Guard Bypass via HTTP Redirect
Summary
Frappe Builder before 1.36.1 contains a server-side request forgery vulnerability in builder/api.py where the assert_not_private_url() guard validates only the initial hostname before callers invoke requests.get(url) with default redirect-following and no IP pinning, allowing an attacker-supplied pu...
Affected packages
| Ecosystem | Package | Affected | Fixed |
|---|---|---|---|
| frappe | builder |
≥ 1.0.0, < 1.36.1 |
1.36.1 |
Original description The description as published by the source.
Frappe Builder before 1.36.1 contains a server-side request forgery vulnerability in builder/api.py where the assert_not_private_url() guard validates only the initial hostname before callers invoke requests.get(url) with default redirect-following and no IP pinning, allowing an attacker-supplied public URL to HTTP-redirect to internal or link-local addresses the guard never validated. An authenticated attacker can call the convert_to_webp endpoint, which lacks a permission decorator, with a URL that redirects to internal targets such as cloud metadata services to perform SSRF, internal port scanning, or trigger a request-hang denial of service due to the missing timeout.
Source: CVE.org (CVE Program・cvelistV5) NVD