Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-31878

CVE-2026-31878: Frappe Framework SSRF Vulnerability

CVE-2026-31878 is an SSRF vulnerability in Frappe Framework that lets attackers force the server to make HTTP requests to arbitrary services. This article covers technical details, affected versions, and mitigation.

Updated:

CVE-2026-31878 Overview

CVE-2026-31878 is a Server-Side Request Forgery (SSRF) vulnerability in the Frappe full-stack web application framework. An authenticated user can send a crafted request to a vulnerable endpoint, causing the Frappe server to issue outbound HTTP calls to an attacker-controlled destination. The flaw is tracked as [CWE-918] and affects Frappe versions prior to 14.100.1, 15.100.0, and 16.6.0. The maintainers released patched versions to remediate the issue.

Critical Impact

An authenticated attacker can coerce the Frappe server to make HTTP requests to arbitrary services, enabling internal network reconnaissance and interaction with internal-only services.

Affected Products

  • Frappe versions prior to 14.100.1
  • Frappe versions prior to 15.100.0
  • Frappe versions prior to 16.6.0

Discovery Timeline

  • 2026-03-11 - CVE-2026-31878 published to NVD
  • 2026-03-13 - Last updated in NVD database

Technical Details for CVE-2026-31878

Vulnerability Analysis

The vulnerability is a classic Server-Side Request Forgery [CWE-918]. Frappe exposes an endpoint that accepts user-controlled input used to construct an outbound HTTP request. The server fetches the supplied resource without sufficient validation of the destination. An authenticated attacker can supply URLs targeting internal-only services, cloud metadata endpoints, or other systems reachable from the Frappe host.

Successful exploitation lets an attacker probe internal network topology, identify reachable hosts, and interact with services that trust the Frappe server's network position. The scope is marked as changed, indicating impact extends beyond the vulnerable component. Confidentiality impact is limited to information disclosed through the server's HTTP responses.

Root Cause

The root cause is missing or insufficient validation of user-supplied URLs before initiating server-side HTTP requests. The endpoint accepts a destination parameter and dispatches the request without enforcing an allowlist of permitted hosts, blocking private address ranges, or restricting URL schemes.

Attack Vector

Exploitation requires network access and low-privilege authenticated access to the Frappe application. No user interaction is needed. The attacker sends a crafted HTTP request to the vulnerable endpoint, supplying a URL pointing to an internal service or attacker-controlled host. The Frappe server then issues the outbound call. See the Frappe Security Advisory GHSA-mggg-hmjm-j6c2 for technical details.

Detection Methods for CVE-2026-31878

Indicators of Compromise

  • Unexpected outbound HTTP or HTTPS connections originating from the Frappe application server to internal IP ranges or cloud metadata endpoints such as 169.254.169.254.
  • Authenticated requests from a single user account to Frappe endpoints that trigger server-side fetches, especially with URL parameters pointing to private address space.
  • Anomalous spikes in outbound connection counts from the Frappe host to previously uncontacted destinations.

Detection Strategies

  • Review Frappe application logs for endpoints that accept URL parameters and correlate them with outbound network telemetry from the host.
  • Inspect egress firewall and proxy logs for connections from the Frappe server to RFC1918 addresses, link-local addresses, or non-standard ports.
  • Hunt for authenticated sessions making repeated requests with varying url, host, or similar parameters that suggest enumeration.

Monitoring Recommendations

  • Forward Frappe web server logs and host network telemetry to a centralized SIEM for correlation and retention.
  • Alert on outbound HTTP requests from the Frappe server to internal-only network segments and cloud instance metadata endpoints.
  • Baseline normal outbound destinations from the Frappe host and flag deviations for analyst review.

How to Mitigate CVE-2026-31878

Immediate Actions Required

  • Upgrade Frappe to version 14.100.1, 15.100.0, or 16.6.0 or later, depending on the deployed major version.
  • Audit application and proxy logs for prior exploitation attempts targeting endpoints that accept URLs.
  • Restrict outbound network access from the Frappe server to only required destinations using firewall rules or an egress proxy.

Patch Information

Frappe maintainers fixed the SSRF in versions 14.100.1, 15.100.0, and 16.6.0. Refer to the GitHub Security Advisory GHSA-mggg-hmjm-j6c2 for upgrade guidance and patch details.

Workarounds

  • Block outbound traffic from the Frappe application host to internal network ranges, link-local addresses, and cloud metadata services at the network layer.
  • Place the Frappe server behind an egress proxy that enforces an allowlist of permitted outbound destinations.
  • Limit application user privileges to reduce the population of accounts able to reach the vulnerable endpoint until patches are applied.

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.