Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as any low-privilege user
-
DeliveryCall convert_to_webp with internal image_url
-
ExploitBypass validation via DNS rebinding/redirect
-
ExecutionServer fetches internal/metadata resource
-
PersistImage response saved to world-readable /files/
-
ImpactExfiltrate data or probe internal hosts
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 only a valid authenticated session of any privilege level (CVSS PR:L; the GHSA confirms even a Website User with no Builder access can invoke the endpoint) - no Builder role, admin rights, or user interaction is needed, and default configurations are affected. The exact prerequisite is the ability to call the builder.api.convert_to_webp method with an attacker-controlled image_url. What LIMITS exploitation: (1) an account is needed, so fully anonymous exploitation is not possible; (2) retrieving actual data (versus blind host/port probing) requires the internal response to decode as an image so it is saved to /files/; (3) high-value cloud-metadata theft requires the instance to run in a cloud environment with a reachable link-local metadata endpoint; (4) upgrading to 1.36.1 (which also requires Frappe v16.36.1+) or blocking /api/method/builder.api.convert_to_webp at the reverse proxy - per the vendor, the proxy block also disables in-editor image conversion - closes the issue. |
| Impact | This is a moderate, authentication-gated SSRF (CWE-918) in Frappe Builder, not an emergency. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) confirms remote, low-complexity, authenticated exploitation with no user interaction, and the impact profile is confined to a subsequent-system confidentiality effect (SC:H) with no integrity or availability impact on the vulnerable system (VC:N/VI:N/VA:N), yielding 6.3 (Medium). The GHSA notes the permission gap is severe in practice because ANY logged-in principal - including a Website User with no Builder access - can reach the endpoint, which widens the realistic attacker population beyond Builder operators. No EPSS score and no KEV status were supplied, and the input shows no confirmed proof-of-concept exploit code - the references are the vendor release, the GHSA advisory, and the VulnCheck advisory, not working exploit code. The vuln.today decision label is 'this_month' (not act_now/emergency), consistent with a real but non-critical priority. Note that the vendor CVSS marks VC:N (no confidentiality impact on the vulnerable system) while the description clearly describes exfiltration of internal/cloud-metadata responses to world-readable /files/ URLs; the real confidentiality exposure to adjacent systems is better captured by SC:H, so treat the headline 6.3 as understating the information-disclosure consequence against cloud-hosted deployments. Overall: a genuine fix-this-cycle issue, elevated where instances run in cloud environments with reachable metadata endpoints. |
| Exploit ScenarioDerived | A low-privilege authenticated user (even a Website User with no Builder access) calls the convert_to_webp API with an image_url pointing at an internal service or a cloud metadata endpoint (e.g. 169.254.169.254), optionally using DNS rebinding or an open redirect to bypass checks. Responses that decode as images are written to a world-readable /files/ URL returned to the caller, exfiltrating internal data; non-image responses still reveal whether an internal host/port answered, enabling blind internal probing. No public exploit code is identified in the provided data. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 26, 2026
Server-side request forgery in Frappe Builder before 1.36.1 lets any authenticated user, including a Website User with no Builder access at all, drive the server-side image converter to fetch arbitrary URLs. Because the convert_to_webp handler performs a requests.get that follows redirects without re-validating the resolved IP, an attacker-supplied image_url can point at internal hosts or cloud metadata endpoints, and any response that decodes as an image is written to a world-readable /files/ URL the caller receives back - turning blind port probing into real data exfiltration. Exploitation requires a valid low-privilege session (PR:L in the CVSS vector), no user interaction, and default configurations are affected; no public exploit code has been identified at time of analysis and the issue is not in CISA KEV. The same advisory notes a path-traversal component via a /builder_assets/../ path and an overwrite hazard for existing public files, so the fix in 1.36.1 is broader than the SSRF itself.
RemediationAI
Vendor-released patch: Frappe Builder 1.36.1 (release notes: https://github.com/frappe/builder/releases/tag/v1.36.1, advisory: https://github.com/frappe/builder/security/advisories/GHSA-5qcg-q3jf-fjcg), and on the 1.36.x branch Frappe framework v16.36.1 or later must also be installed or the fix will not hold. Upgrading closes the SSRF, the missing has_page_write authorization check, the builder_assets path traversal and the same-name file overwrite; the upstream changes are visible in pull requests 989 and 990 and in commits 7b32046 (public-address-only fetches plus page-write requirement), 1c33a16 (path confinement and overwrite prevention) and 22cc21d (download size limit). If upgrading is not immediately possible, the vendor states that blocking /api/method/builder.api.convert_to_webp at the reverse proxy prevents exploitation, with the documented trade-off that it also turns off image conversion in the page editor for all users. Because exploitation only needs a valid low-privilege account, tightening who can self-register as a Website User reduces exposure on internet-facing instances, and running the app outside cloud environments with reachable link-local metadata endpoints limits the value of the SSRF but does not fix it.
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
Frappe Builder is a website/page-builder app built on the Frappe framework (Python), and its builder.api.convert_to_webp endpoint ingests a caller-supplied image_url, downloads it server-side with requests.get, converts the result to WebP and stores it under /files/. The root cause class is CWE-918 (SSRF): unlike sibling asset-ingest handlers, this method was never gated behind the has_page_write permission check (also catalogued as CWE-862 missing authorization), so it was reachable by any logged-in user regardless of Builder role. The URL fetcher followed HTTP redirects and did not re-validate the resolved IP address after each hop, which opens both redirect-based bypasses and DNS-rebinding to reach loopback, link-local or RFC1918 addresses; the request also had no timeout. A second flaw, CWE-22, let a /builder_assets/../ path escape the assets directory and cause the server to write a .webp copy beside any .png or .jpg the process could read, and an external pull could overwrite an existing public file of the same name. The vendor's fix set (commits 7b32046, 1c33a16, 22cc21d, 97063cd in release v1.36.1) adds the page-write permission requirement, restricts remote fetches to public addresses, confines paths inside builder_assets, saves pulled images under unique names, and stops downloads at a size limit.
Know when Frappe gets its next vulnerability
- 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:H/SI:N/SA:N
Authenticated (PR:L) remote SSRF with no UI or complexity barrier; the server fetches resources in a separate security authority (S:C) exposing internal/metadata data (C:H), with no integrity or availability impact.
Primary rating from Vendor (vulncheck).
CVSS VectorVendor: vulncheck
Lifecycle Timeline
1DescriptionCVE.org
Frappe Builder versions before 1.36.1 contain a server-side request forgery vulnerability in the convert_to_webp API endpoint, which lacks the has_page_write access control applied to similar asset-ingest handlers and performs an unprotected requests.get call that follows redirects without re-validating resolved IP addresses. A low-privilege authenticated user can supply an image_url pointing to an internal address or use DNS rebinding and open redirects to make the server fetch internal network resources or cloud metadata endpoints, with successful image responses saved to a world-readable /files/ URL enabling data exfiltration or blind probing of internal hosts.
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.
Stored cross-site scripting leading to code execution in Frappe Framework 15.89.0 (and the ERPNext application built on
An exploitable SQL injection vulnerability exists in the authenticated part of ERPNext v10.1.6. Rated high severity (CVS
An exploitable SQL injection vulnerability exists in the authenticated part of ERPNext v10.1.6. Rated high severity (CVS
An exploitable SQL injection vulnerability exists in the authenticated part of ERPNext v10.1.6. Rated high severity (CVS
An exploitable SQL injection vulnerability exists in the authenticated part of ERPNext v10.1.6. Rated high severity (CVS
Authenticated SQL injection in Frappe ERPNext through 15.89.0 allows low-privilege users to extract arbitrary database c
SQL injection in Frappe ERPNext through 15.89.0 lets an authenticated attacker with a valid session and access to the Pa
Authenticated server-side template injection in Frappe ERPNext through 15.89.0 lets a user who can create or modify an A
An SQL injection vulnerability exists in the frappe.desk.reportview.get functionality of ERPNext 11.1.38. Rated high sev
Arbitrary file read in the Frappe full-stack web application framework allows remote unauthenticated attackers to retrie
SQL injection in Frappe HelpDesk 1.14.0 dashboard functionality allows authenticated attackers to execute arbitrary SQL
In Frappe ERPNext 15.57.5, the function get_rfq_containing_supplier() at erpnext/buying/doctype/request_for_quotation/re
EUVD-2026-109781
NVD
CVE.org
EPSS
GitHub
VulDB
Exploit-DB