CVE-2026-115717 in Builder
Summary
by MITRE • 10/26/2026
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.
VulDB is the best source for vulnerability data and more expert information about this specific topic.
Analysis
by VulDB Data Team • 10/26/2026
The vulnerability identified in Frappe Builder versions prior to 1.36.1 represents a critical Server-Side Request Forgery (SSRF) flaw located within the convert_to_webp API endpoint. This specific function is designed to ingest external images and convert them into WebP format for web optimization, but it suffers from insufficient access control mechanisms compared to other asset ingestion handlers in the application. While similar endpoints enforce strict page write permissions or validate user privileges more rigorously, this particular endpoint lacks these protective barriers, allowing any authenticated user with low-level privileges to trigger server-side HTTP requests without adequate authorization checks. This discrepancy in security controls creates a significant attack surface where an adversary can manipulate the input parameters of the API to direct the server's network traffic toward unintended destinations.
The core technical flaw lies in how the endpoint processes the image_url parameter provided by the client. The application utilizes an unprotected requests.get call that automatically follows HTTP redirects without re-validating the resolved IP addresses or hostnames at each step of the redirection chain. This behavior is particularly dangerous because it allows attackers to bypass initial domain restrictions through DNS rebinding attacks or open redirect vulnerabilities in third-party services. By crafting a malicious URL that points to an internal network address, such as 127.0.0.1 or private IP ranges like 192.168.x.x, and leveraging redirects to obscure the final destination, an attacker can force the Frappe server to fetch resources from within its own local network environment. This mechanism effectively neutralizes basic perimeter defenses that might otherwise block direct requests to internal IPs if they were not masked by intermediate redirections.
The operational impact of this vulnerability is severe, primarily facilitating data exfiltration and unauthorized reconnaissance of internal infrastructure. Because the API endpoint saves successful image responses to a world-readable directory under /files/, any sensitive data retrieved from internal services becomes publicly accessible via standard HTTP requests. Attackers can target cloud metadata endpoints, such as those found in AWS EC2 or Google Cloud Platform instances, which often contain authentication tokens and configuration details that grant further access to the compromised environment. Additionally, this capability enables blind probing of internal hosts, allowing adversaries to map out network topology, identify active services on non-standard ports, and detect security devices like firewalls or intrusion detection systems based on response times or error messages returned by the server during its fetch attempts.
From a classification perspective, this vulnerability aligns with CWE-918 Server-Side Request Forgery (SSRF), specifically involving insufficient validation of user-supplied URLs and failure to restrict access to internal resources. It also maps to MITRE ATT&CK technique T1504.003 Web Service Discovery, as the ability to probe internal networks aids in mapping out available services for subsequent exploitation phases. The lack of proper input sanitization and the absence of a deny list or allow list for IP addresses further exacerbate the risk, placing this flaw firmly within the category of broken access control issues that are frequently exploited in modern web applications.
To mitigate this vulnerability, organizations running Frappe Builder must upgrade to version 1.36.1 or later, where these security controls have been addressed. In environments where immediate patching is not feasible, temporary mitigations should include implementing a reverse proxy configuration that blocks outbound requests from the application server to private IP ranges and cloud metadata endpoints. Additionally, developers should ensure that all API endpoints handling external resource ingestion enforce strict access control checks similar to those applied in other asset handlers, validate URLs against a whitelist of allowed domains, and implement robust redirect validation logic that rejects any final destination falling within reserved or internal address spaces. Network-level segmentation can also help limit the blast radius by isolating the application server from critical internal services.