Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as any Builder user
-
DeliverySubmit attacker-controlled public URL to convert_to_webp
-
ExploitServer-side fetch follows redirect / rebound DNS to internal address
-
ExecutionReach cloud metadata or internal services the guard never checked
-
ImpactExfiltrate metadata, port-scan, or hang request for DoS
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Credential Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an authenticated session: the convert_to_webp endpoint has no permission decorator and is reachable by ANY authenticated Builder user before 1.36.1, while the import_remote_assets and import_remote_fonts fetches additionally require Builder Page write permission. The attacker must supply a public URL that either HTTP-redirects to an internal/link-local target or whose DNS answer changes between the guard's check and the actual connection (DNS rebinding); default redirect-following and the absence of IP pinning on requests.get make this work against default configurations. Limiting factors: authentication is mandatory (no unauthenticated path), impact is confined to SSRF-style internal reachability, metadata disclosure (including 100.64.0.0/10 addresses), internal port scanning, and a request-hang DoS from the missing timeout - there is no direct code execution or write to the vulnerable system. Only complete fix per vendor is upgrading to 1.36.1 (which requires Frappe v16.36.1+); no workarounds exist. |
| Impact | This is a moderate, credibly-real but non-emergency issue. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) and the 5.3 base score are consistent with the description: network-reachable, low-complexity, but requiring authentication (PR:L) and yielding only subsequent-system confidentiality impact (SC:L) with no direct impact to the vulnerable system (VC:N/VI:N/VA:N). The vuln.today decision label is 'this_month', not act_now or emergency, which aligns with the limited impact. No EPSS score was provided, the CVE is not listed in CISA KEV, and no confirmed working exploit code is present in the input - the references are the vendor release, the GHSA advisory, the VulnCheck advisory, and fix PR #989, i.e. disclosure and remediation artifacts rather than weaponized exploits. The real differentiator from a 'high-CVSS-but-low-real-risk' paper finding is the specific, confirmed mechanism: a time-of-check/time-of-use guard that validates the hostname once and then follows redirects and re-resolves DNS without re-checking, reaching cloud metadata endpoints (including the 100.64.0.0/10 / 100.100.100.200 case). That makes exploitation mechanically straightforward for any authenticated user, but the authentication requirement and confidentiality-only impact keep it a prioritized-patch item rather than a drop-everything event. Note the GHSA also assigns CWE-367 (TOCTOU) alongside CWE-918, reflecting the DNS-rebinding variant in addition to the redirect bypass. |
| Exploit ScenarioDerived | An authenticated Frappe Builder user (no elevated role needed) calls the convert_to_webp endpoint, which lacks a permission decorator, supplying a public URL under their control. That URL HTTP-redirects - or re-resolves via DNS rebinding - to an internal or link-local address such as a cloud metadata service, which the one-time hostname guard never re-validates, letting the server fetch and return internal data or hang on a missing timeout. No public working exploit is identified at time of analysis, though the vendor GHSA and fix PR describe the mechanism in detail. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 26, 2026
Frappe Builder before 1.36.1 lets any authenticated user bypass its SSRF guard by supplying a public URL that redirects, or DNS-rebinds, to internal or link-local addresses. The convert_to_webp endpoint lacks a permission decorator, so any authenticated Builder user can reach cloud metadata services, scan internal ports, or hang requests because no timeout is set; import_remote_assets and import_remote_fonts require Builder Page write permission. This is a moderate, non-emergency issue, and no public exploit was identified at time of analysis.
RemediationAI
Vendor-released patch: upgrade Frappe Builder to 1.36.1, which checks the exact address for every connection and every redirect hop and refuses addresses that are not globally routable; v1.36.x requires Frappe v16.36.1 or later. The vendor states there are no workarounds, so upgrading is the only complete fix. Advisory: https://github.com/frappe/builder/security/advisories/GHSA-hvrf-fhv3-3v7p; release: https://github.com/frappe/builder/releases/tag/v1.36.1; upstream PR: https://github.com/frappe/builder/pull/989. Relevant commits include 7b32046c21f6048af6a33c2fbc7f2b27df38bbf2 (connect remote fetches only to public addresses and require page write to convert images) and 1c33a16d87bb2e527a04a125462e18a7592822b9 (keep convert_to_webp inside builder_assets and stop it overwriting files).
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The root cause is CWE-918 server-side request forgery combined with a check/use gap (CWE-367): builder/api.py assert_not_private_url() resolves and validates only the initial hostname, then requests.get(url) performs a second DNS resolution and follows redirects by default without pinning the validated IP. That lets an attacker-controlled public hostname redirect to 127.0.0.1, RFC1918, link-local, or 100.64.0.0/10 targets; the guard also accepted 100.64.0.0/10, including the 100.100.100.200 metadata address. The convert_to_webp endpoint has no permission decorator and is reachable by any authenticated Builder user before 1.36.1, while import_remote_assets and import_remote_fonts require Builder Page write permission. The missing request timeout enables a request-hang denial of service, and the SSRF can be used for internal port scanning and metadata disclosure. No CPE identifiers were provided; the advisory identifies package other/frappe/builder below 1.36.1 as vulnerable and fixed in 1.36.1. The trigger details available are the redirect-following and DNS-rebinding behavior described by the vendor advisory.
Know when the next one hits your stack
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:N/SC:L/SI:N/SA:N
Network-reachable and low-complexity but requires authentication (PR:L); SSRF crosses a trust boundary (S:C) exposing internal/metadata data at low confidentiality, with no integrity or availability impact to the vulnerable system.
Primary rating from Vendor (vulncheck).
CVSS VectorVendor: vulncheck
Lifecycle Timeline
1DescriptionCVE.org
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.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
EUVD-2026-109785
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB