CVE-2025-68953

7.5 HIGH

📋 TL;DR

This CVE describes a path traversal vulnerability in Frappe web framework that allows attackers to read arbitrary files from the server due to insufficient input sanitization. All Frappe installations running vulnerable versions are affected, potentially exposing sensitive configuration files, credentials, or application data. The vulnerability affects both version 14.x (up to 14.99.5) and 15.x (up to 15.80.1).

💻 Affected Systems

Products:
  • Frappe Framework
Versions: 14.x up to 14.99.5, 15.x up to 15.80.1
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: All Frappe installations using vulnerable versions are affected regardless of configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete server compromise through exposure of sensitive files like configuration files, database credentials, SSH keys, or source code, potentially leading to further attacks.

🟠

Likely Case

Unauthorized access to sensitive application files, configuration data, or user information stored on the server filesystem.

🟢

If Mitigated

Limited impact with proper network segmentation, file permissions, and monitoring in place to detect traversal attempts.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

The advisory suggests exploitation is straightforward via crafted requests. No public exploit code was found at time of analysis.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 14.99.6 and 15.88.1

Vendor Advisory: https://github.com/frappe/frappe/security/advisories/GHSA-xj39-3g4p-f46v

Restart Required: Yes

Instructions:

1. Backup your Frappe installation and database. 2. Update Frappe using bench: 'bench update --patch'. 3. Alternatively, manually update to version 14.99.6 or 15.88.1. 4. Restart all bench services: 'bench restart'. 5. Verify the update with 'bench version'.

🔧 Temporary Workarounds

Reverse Proxy Configuration

all

Implement a reverse proxy (like nginx or Apache) in front of Frappe to filter and sanitize requests before they reach the vulnerable application.

🧯 If You Can't Patch

  • Implement strict network access controls to limit exposure to trusted sources only
  • Deploy a web application firewall (WAF) with path traversal protection rules

🔍 How to Verify

Check if Vulnerable:

Check Frappe version using 'bench version' command. If version is 14.99.5 or below, or between 15.0.0 and 15.80.1 inclusive, the system is vulnerable.

Check Version:

bench version

Verify Fix Applied:

After patching, verify version is 14.99.6 or higher, or 15.88.1 or higher using 'bench version'. Test with controlled path traversal attempts to confirm mitigation.

📡 Detection & Monitoring

Log Indicators:

  • Unusual file access patterns in application logs
  • Requests containing '../' sequences or other path traversal patterns
  • Access to sensitive file paths outside normal application directories

Network Indicators:

  • HTTP requests with encoded path traversal sequences (%2e%2e%2f, ..%2f)
  • Multiple failed attempts to access non-existent files with traversal patterns

SIEM Query:

source="frappe_logs" AND ("..\/" OR "%2e%2e%2f" OR "..%2f")

🔗 References

📤 Share & Export