Frappe Framework
CVE-2025-67289
CRITICAL
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate or obtain upload access to ERPNext
-
DeliveryCraft XML/SVG with embedded script
-
ExploitUpload via Attachments module
-
ExecutionVictim opens/previews the attachment
-
PersistScript runs in victim's session
-
ImpactHijack session or perform actions as victim
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the ability to upload a file through the Frappe Attachments module and a crafted XML (SVG/XML) payload; the CVSS UI:R means a victim must subsequently open, preview, or render the malicious attachment for the script to execute - it is not fire-and-forget. The scope change (S:C) reflects execution crossing into the victim's authenticated browser context. Limiting factors: the supplied vector lists PR:N, but attachment upload in Frappe/ERPNext normally requires an authenticated account, so authentication requirements are not fully confirmed from available data and should be verified with the vendor; exploitation is confined to deployments running version 15.89.0 where the Attachments module accepts and serves XML/SVG content inline. |
| Impact | The signals conflict and should be weighed carefully. The CVSS vector (AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H = 9.6) plus the scope change and required user interaction (UI:R) strongly indicate stored XSS rather than unauthenticated server-side RCE - note the CWE is CWE-79 (XSS) and the 'RCE' tag likely describes script execution in the browser, which defenders should not conflate with remote command execution on the host. Publicly available exploit code exists, raising practical risk, but EPSS is only 0.44% (35th percentile) and the CVE is not on CISA KEV, suggesting no confirmed widespread active exploitation. The PR:N in the supplied vector is questionable because uploading attachments in Frappe/ERPNext typically requires an authenticated session - verify with the vendor, as this materially changes exploitability. Net: a credible, POC-backed issue worth prompt patching for internet-facing ERPNext instances, but the raw 9.6 overstates real-world blast radius given the user-interaction and likely-authentication prerequisites. |
| Exploit ScenarioDerived | An attacker with access to submit an attachment uploads a crafted XML/SVG file containing embedded JavaScript to a Frappe/ERPNext record; when an administrator or another user later opens or previews that attachment, the script executes in their authenticated session and can perform actions or exfiltrate data as that user. Because publicly available exploit code exists and the CVSS shows low attack complexity (AC:L) with required user interaction (UI:R), the main hurdle is enticing a victim to view the file. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 05, 2026
Stored cross-site scripting leading to code execution in Frappe Framework 15.89.0 (and the ERPNext application built on it) lets attackers upload a crafted XML/SVG file through the Attachments module that runs attacker-controlled script when a victim views it. Tagged as XSS/RCE/File Upload with a publicly available exploit code, though EPSS remains low at 0.44% (35th percentile) and it is not on CISA KEV. The CVSS 9.6 rating reflects a scope-changing, user-interaction-dependent attack rather than direct server-side compromise.
RemediationAI
No vendor-released patch version is identified in the available data, so the actionable step is to upgrade Frappe Framework and ERPNext to the latest maintained release above 15.89.0 and monitor http://frappe.com and the Frappe GitHub security advisories for the exact fixed version before deploying. As compensating controls until patched: force all user-uploaded attachments to be served with Content-Disposition: attachment (download rather than inline render) and a restrictive Content-Security-Policy to neutralize embedded script, which prevents in-browser execution at the cost of losing inline preview; block or reject SVG/XML uploads at the reverse proxy or in the Attachments allow-list, accepting that legitimate SVG/XML attachments will be refused; and restrict attachment upload permissions to trusted roles to shrink the pool of potential submitters. Do not treat the public exploit README (https://github.com/vuquyen03/CVE/blob/main/CVE-2025-67289/README.md) as guidance - it is offensive proof-of-concept material.
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
Frappe Framework is an open-source, Python/JavaScript full-stack web framework that underpins the ERPNext ERP suite; the CPE data confirms both cpe:2.3:a:frappe:frappe:15.89.0 and cpe:2.3:a:frappe:erpnext:15.89.0 are affected. The root-cause class is CWE-79 (Improper Neutralization of Input During Web Page Generation, i.e. cross-site scripting), and the vector combined with the 'crafted XML file' detail indicates the Attachments module fails to sanitize or restrict uploaded file content (classically an SVG/XML payload containing embedded script). When such a file is rendered or served inline in a browser session, the embedded script executes in the context of the application, which is how 'arbitrary code' execution is achieved - script execution in the victim's authenticated browser session, not native server code execution.
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:N/UI:R/S:C/C:H/I:H/A:H
Attachment upload realistically needs an account (PR:L) and a victim must view the file (UI:R); XSS crosses into the session context (S:C) with high C/I but no direct availability impact.
Primary rating from Vendor (mitre).
CVSS VectorVendor: mitre
DescriptionCVE.org
An arbitrary file upload vulnerability in the Attachments module of Frappe Framework v15.89.0 allows attackers to execute arbitrary code via uploading a crafted XML file.
Executive ViewAI
Frappe Framework 15.89.0 and ERPNext deployments are vulnerable to critical code execution through malicious file uploads (CVE-2025-67289), allowing attackers to compromise systems and access sensitive business data when users interact with crafted attachments. Publicly available exploit code reduces the barrier for attackers to target organizations dependent on ERPNext for financial operations and customer data management. Immediate mitigation is essential to prevent potential data breaches and operational disruption.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) Restrict XML and SVG uploads in Attachments module configuration; (2) Enforce strict file-type whitelist limiting uploads to .pdf, .docx, .xlsx, .pptx, .jpg, .png; (3) Disable XML processing in application attachment handlers if configurable; (4) Deploy WAF rules to block SVG/XML file uploads; (5) Conduct user security awareness training on attachment risks; (6) Implement network segmentation to contain potential lateral movement if code execution occurs; (7) Enable detailed audit logging on attachment actions with real-time alerting for suspicious access patterns; (8) Consider temporary suspension of attachment functionality until patch release.
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
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
Malicious file upload attacks exploit insufficient validation when web applications accept user-provided files.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
Affected Products (CPE)CVE.org
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
In Frappe ERPNext 15.57.5, the function get_stock_balance_for() at erpnext/stock/doctype/stock_reconciliation/stock_reco
NVD
CVE.org
EPSS
GitHub
Exploit-DB