Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as any low-privileged Frappe user
-
DeliveryEnumerate predictable private file path patterns from application behavior
-
ExploitCraft direct HTTP GET request to target private file URL
-
ExecutionBypass server-side access control check
-
ImpactRetrieve restricted private file contents
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Access control enforcement
MITRE ATT&CK
1 technique across 1 tactic: Defense Evasion The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires a valid authenticated session in the Frappe application at any privilege level (PR:L per the CVSS 4.0 vector). The attacker must be able to guess or enumerate private file paths - files stored with predictable naming patterns (e.g., sequential IDs, original upload filenames) are most at risk, while files using high-entropy random identifiers are harder to enumerate. No special feature needs to be enabled; the vulnerability exists in the default file-serving behavior of all pre-16.17.4 Frappe deployments. The key limiting factors are: (1) authentication is required before exploitation - anonymous users cannot exploit this, and (2) success depends on the attacker's ability to predict file paths, meaning randomly named files with UUIDs provide incidental hardening but do not constitute a security control. |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N) places this as a low-complexity, network-accessible vulnerability with limited confidentiality impact and no integrity or availability consequences - consistent with an unauthorized file read rather than code execution. Authentication is required (PR:L), which restricts the attacker pool to credentialed users of the application. EPSS at 0.02% (7th percentile) signals very low observed exploitation probability in the wild, and the CVE has no CISA KEV listing and no known public exploit code. The overall real-world risk is moderate: the vulnerability is easy to exploit once authenticated, but the impact is limited to file disclosure and the requirement for prior authentication meaningfully limits the attack surface. For multi-tenant Frappe deployments or those handling sensitive uploaded documents, this should be patched promptly; for single-tenant or low-data-sensitivity deployments, urgency is lower. |
| Exploit ScenarioDerived | An attacker with a valid low-privileged Frappe account - such as a standard portal user or a recently onboarded employee - constructs direct HTTP GET requests to private file paths by enumerating predictable Frappe file storage URL patterns. By iterating over known path structures and filenames observed through other application interactions, the attacker retrieves private documents such as invoices, HR records, or configuration attachments that are intended to be restricted to authorized roles. No public exploit code has been identified at time of analysis, but the low attack complexity means no specialized tooling is required beyond a standard HTTP client. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 12, 2026
Improper access control in Frappe Framework (all versions prior to 16.17.4) allows any authenticated user to retrieve private files by guessing their server-side file path, bypassing intended authorization restrictions. The flaw is classified under CWE-284 (Improper Access Control) and affects the file-serving layer of the framework, which underlies widely deployed applications such as ERPNext. No public exploit code has been identified at time of analysis, and exploitation probability is very low per EPSS (0.02%, 7th percentile), though the low attack complexity makes it straightforward for any credentialed user to attempt.
RemediationAI
Upgrade Frappe to version 16.17.4 or later, which contains the vendor-released patch per GitHub Security Advisory GHSA-gvg7-4p32-j648 (https://github.com/frappe/frappe/security/advisories/GHSA-gvg7-4p32-j648). If immediate patching is not feasible, implement web server or reverse-proxy rules to enforce authentication and role-based authorization checks on all requests to private file-serving endpoints, which prevents unauthenticated and cross-tenant access at the infrastructure layer - though this does not fix the application-level control gap for authenticated users across roles. Additionally, audit private file naming conventions and consider enforcing randomized, high-entropy filenames to raise the difficulty of path guessing; note this is a hardening measure, not a substitute for the patch, and does not address the architectural control failure.
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 is a Python/JavaScript full-stack web framework that powers ERPNext and other enterprise applications. Its file-serving subsystem manages uploaded attachments and private documents, distinguishing between public and private files via access control policy. The root cause, CWE-284 (Improper Access Control), indicates that the application fails to enforce proper authorization checks server-side when a private file URL is directly requested - relying instead on path obscurity rather than role-based permission verification. The CPE identifier cpe:2.3:a:frappe:frappe:*:*:*:*:*:*:*:* confirms all versions of the Frappe application are affected up to the fix point. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N) corroborates a network-reachable flaw requiring only a valid authenticated session and no special attack conditions.
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:L/VI:N/VA:N/SC:N/SI:N/SA:N
AV:N as file access occurs over HTTP; PR:L because any valid authenticated session is required; C:L for limited file disclosure with no integrity or availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Frappe is a full-stack web application framework. Prior to version 16.17.4, any authenticated user can access private files by guessing the file path. This issue has been patched in version 16.17.4.
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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
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-36495
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB