Frappe Framework
CVE-2025-68929
CRITICAL
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain authenticated account with required permissions
-
DeliveryCraft malicious link with template payload
-
ExploitLure privileged user to open link
-
ExecutionServer renders injected template (SSTI)
-
PersistExecute arbitrary code on Frappe host
-
ImpactFull server compromise
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V1 - Encoding and Sanitization Template injection prevention
|
| Exploitation Conditions | Exploitation requires an authenticated Frappe user who holds 'specific permissions' (per the advisory) and who must be socially engineered into opening a specially crafted link that carries a server-side template payload - this is the concrete precondition, not a default-configuration remote attack. The principal limiting factors are: (1) valid authentication at a non-trivial permission level (PR:L), and (2) mandatory victim interaction (UI:R) - the privileged user must actively click/access the attacker's link for the malicious template to render. These two gates substantially narrow realistic exploitation to targeted social-engineering of existing privileged accounts rather than opportunistic mass exploitation. No workaround exists; only upgrading to 14.99.6 (v14 branch) or 15.88.1 (v15 branch) remediates it. |
| Impact | This is a genuine high-priority vulnerability but short of 'drop everything' emergency status, and the signals are largely consistent. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H, base 9.0) reflects a server-side template injection that yields full remote code execution with scope change - meaning compromise extends from the Frappe application to the underlying OS. However, two CVSS metrics meaningfully constrain real-world risk: PR:L requires the attacker to already have an authenticated account with 'specific permissions' (per the description), and UI:R requires tricking that privileged user into clicking a crafted link, making this a social-engineering-dependent, semi-targeted attack rather than a point-and-shoot remote exploit. The exploitation-likelihood signals corroborate a lower urgency than the 9.0 suggests: EPSS is only 0.50% (41st percentile), there is no CISA KEV listing, and no public exploit code was identified in the provided intelligence. The combination of a critical technical-impact score with low EPSS and no observed exploitation indicates a serious-but-not-yet-actively-weaponized flaw - patch promptly, but it does not carry the same immediacy as an unauthenticated, no-interaction KEV-listed RCE. No SSVC decision data was provided in the input, so that framework cannot be applied here. |
| Exploit ScenarioDerived | An attacker who holds (or phishes) a Frappe account with the requisite permissions crafts a malicious link embedding a server-side template payload and lures a privileged victim into opening it. When the victim's authenticated session processes the link, the malicious Jinja/template content is rendered server-side, executing attacker-controlled code on the Frappe host. No public proof-of-concept was identified in the provided data, and UI:R means the chain depends on successfully social-engineering the victim into clicking. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 13, 2026
Authenticated server-side template injection in Frappe Framework (v14 branch before 14.99.6 and v15 branch before 15.88.1) allows an attacker to have a malicious template executed on the server, resulting in remote code execution with high confidentiality, integrity, and availability impact. The CVSS vector (AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H) shows two real gates: the attacker needs valid credentials at a non-trivial permission level and must socially engineer that user into opening a crafted link, so risk concentrates on targeted phishing of privileged accounts rather than opportunistic mass exploitation. No public exploit code has been identified at time of analysis, the issue is not in CISA KEV, and EPSS is low at 0.50% (41st percentile); vendor-released patches 14.99.6 and 15.88.1 are available and the advisory states no workarounds exist.
RemediationAI
Vendor-released patch: upgrade to Frappe Framework 14.99.6 (v14 branch) or 15.88.1 (v15 branch) as applicable, per the vendor releases at https://github.com/frappe/frappe/releases/tag/v14.99.6 and https://github.com/frappe/frappe/releases/tag/v15.88.1 and the advisory at https://github.com/frappe/frappe/security/advisories/GHSA-qq98-vfv9-xmxh; the advisory explicitly states no workarounds are available, so patching is the only complete fix. Until upgrades can be scheduled, compensating controls target the two exploitation gates: (1) reduce the population of accounts holding the specific template-related permissions needed to trigger rendering - audit roles (including System Manager and any role that can author email templates, notifications, or print formats) and remove them from users who do not strictly need them, accepting the trade-off that legitimate administrative workflows will be constrained; and (2) blunt the social-engineering prerequisite (UI:R) through user awareness for crafted links and by limiting who can reach the affected features over the network, noting that this only lowers likelihood and does not remove the flaw. Because the payload executes with application privileges and has scope change, also treat any successfully upgraded instance as potentially compromised if a privileged user clicked an untrusted link beforehand: review custom Jinja templates, scheduled jobs, and outbound connections for tampering, and rotate application secrets if suspicious artefacts are found.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The root cause class is CWE-1336, improper neutralization of special elements used in a template engine - i.e. server-side template injection (SSTI), consistent with the 'Ssti' and 'RCE' tags on this record. Frappe renders user- and record-derived content through its Jinja-based templating layer (used across email templates, notifications, print formats, and similar features); when attacker-influenced input is passed into that engine and evaluated instead of being treated as inert text, template directives execute in the server process with the privileges of the Frappe/ERPNext application, which is why the assessed vector carries S:C (scope change) alongside C:H/I:H/A:H. The attack path is network-reachable (AV:N) with low complexity (AC:L), but is gated by PR:L and UI:R per the authoritative assessment: the crafted link must be delivered to and opened by an authenticated user holding the specific permissions required to reach the affected feature, and the malicious template then renders server-side. Circumstantial corroboration comes from the v14.99.6 release notes, which include a change to the Auto Repeat 'Preview Message' behavior so the preview renders the template stored in the record rather than any text sent from the browser (PR 34600) - a modification consistent with removing client-controlled template input, though the release notes themselves do not name this CVE and the mapping is not independently confirmed. The same release also adds a path check restricting file downloads to the site's public/files folder (PR 34652).
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
AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H
Link is delivered over the network (AV:N) to an authenticated user with specific permissions (PR:L) who must click it (UI:R); template execution escapes the app to the OS (S:C) giving full RCE (C/I/A:H).
Primary rating from NVD.
CVSS VectorNVD
DescriptionNVD
Frappe is a full-stack web application framework. Prior to versions 14.99.6 and 15.88.1, an authenticated user with specific permissions could be tricked into accessing a specially crafted link. This could lead to a malicious template being executed on the server, resulting in remote code execution. Versions 14.99.6 and 15.88.1 fix the issue. No known workarounds are available.
Executive ViewAI
Frappe Framework, used by organizations to build and manage business applications, contains a critical server-side template injection vulnerability (CVE-2025-68929) that allows authenticated attackers to execute arbitrary code on the server. Exploitation requires valid credentials and tricking a privileged user into opening a crafted link, but successful attacks could lead to full compromise of confidentiality, integrity, and availability of affected systems. Leadership should prioritize patching because the vulnerability is severe and affects versions 14 before 14.99.6 and 15 before 15.88.1, with no workarounds available.
Apply vendor patch.
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
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
Affected Products (CPE)NVD
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
NVD
CVE.org
EPSS
GitHub
Exploit-DB