Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconObtain high-privilege credentials or account
-
DeliveryCreate or edit document field
-
ExploitInject unescaped XSS payload into vulnerable formatter field
-
InstallPersist malicious document in Frappe backend
-
C2Victim opens document in Desk UI
-
ExecuteFormatter renders unescaped HTML containing payload
-
ImpactJavaScript executes in victim's browser context
-
Step 8Session hijacking or data exfiltration occurs
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 | The attacker must possess authenticated access with high privilege level (e.g., document creator or editor role) to persist malicious values into document fields. The vulnerable formatter implementation must be active for the specific field type in which the payload is injected - formatters are field-type-specific, so not all fields are equally vulnerable. A second user must subsequently open the affected document in the Desk interface for the XSS payload to execute; the payload does not activate during storage or in API-only contexts. Modern browsers with strict CSP or script filtering may prevent payload execution even if injection succeeds. Default Frappe installations without additional security configuration (e.g., CSP headers) are fully vulnerable once an authenticated high-privilege attacker injects a payload. |
| Impact | Real-world risk is moderate despite the low CVSS score, due to several mitigating and aggravating factors. CVSS vector AV:N/AC:L/PR:H/UI:A indicates network-accessible exploitation requiring high privileges and user interaction (victim must open document). These constraints substantially reduce attack surface compared to unauthenticated RCE. However, the high-privilege requirement (PR:H) is context-dependent: in many Frappe deployments, 'high privilege' may include document creators, managers, or power users - a broader population than CVSS implies. The stored XSS nature (UI:A requires victim interaction, not attacker) is a compounding factor: once malicious data is persisted, it activates against any user with document access, enabling supply-chain-like attacks where a compromised or malicious privileged user poisons shared documents. EPSS data is not provided, but exploitation probability is elevated above raw CVSS due to: (1) no patch version identified in input data, meaning all Frappe 16.10.0 deployments remain vulnerable indefinitely pending upstream fix; (2) XSS is highly reliable to exploit and difficult to detect without robust CSP; (3) Frappe's multi-user, document-centric architecture maximizes the blast radius once stored XSS is injected. Limiting factors: authentication requirement and privilege level (PR:H) gate initial injection; user action required to trigger payload; modern browsers with CSP may mitigate execution. Not confirmed as actively exploited (KEV status not provided), and no public POC identified in input data, suggesting nascent vulnerability. Priority should be moderate-to-high for organizations with multi-user Frappe deployments and significant data-sharing patterns. |
| Exploit ScenarioDerived | An attacker with document creation/editing privileges (e.g., a disgruntled employee or compromised user account) crafts a malicious payload in a field (e.g., a URL field, label, or custom HTML-rendered field) and saves the document. When a colleague or manager opens the same document in Desk to review or collaborate, the formatter renders the unescaped payload into the HTML page, triggering JavaScript execution in the victim's browser with the victim's session context and privileges. The attacker's script can exfiltrate session tokens, modify document data on behalf of the victim, or redirect to a phishing site. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Apr 23, 2026
Stored cross-site scripting (XSS) in Frappe 16.10.0 allows authenticated attackers with high privileges to inject malicious scripts into document fields, which execute in the browser of any user who subsequently opens the affected document in Desk. The vulnerability stems from unsafe HTML interpolation in multiple formatter implementations that fail to escape user-supplied values, enabling persistent client-side code execution with limited scope (low integrity/availability impact). CVSS 4.6 reflects the requirement for authenticated high-privilege access and user interaction, but the XSS vector represents a significant persistence and social engineering risk in collaborative document environments.
RemediationAI
Apply the vendor-released patch immediately upon availability. Monitor the official Frappe GitHub repository (https://github.com/frappe/frappe) and NIST NVD (https://nvd.nist.gov/vuln/detail/CVE-2026-3837) for patched version release. As an interim compensating control, restrict high-privilege document creation and editing to trusted users only, and implement a Content Security Policy (CSP) header with script-src 'self' to block inline script execution in the Desk interface - this mitigates XSS payload execution but does not prevent injection or detection evasion. Additional controls: enable document audit logging to detect malicious field modifications, and educate users to report unexpected or suspicious field content in documents before sharing. Side effect of CSP: may break legitimate inline scripts in custom Frappe plugins; test thoroughly before production deployment.
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-based web framework and ERP platform. The Desk interface is the primary user-facing application for document management and data entry. The vulnerability resides in formatter implementations - specialized code components that transform raw field values into HTML for display in the user interface. These formatters directly interpolate stored field values (such as URLs, labels, or custom data) into HTML attributes or element content without applying context-appropriate escaping (e.g., HTML entity encoding for attribute values, script escaping for element content). This violates fundamental XSS prevention principles: untrusted data should never be interpolated directly into HTML contexts. The CWE-79 classification confirms improper neutralization of input during web page generation, a root cause endemic to dynamic HTML generation without output encoding.
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:H/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
Primary rating from NVD · only source for this CVE.
CVSS VectorNVD
Lifecycle Timeline
2DescriptionCVE.org
An authenticated attacker can persist crafted values in multiple field types and trigger client-side script execution when another user opens the affected document in Desk. The vulnerable formatter implementations interpolate stored values into raw HTML attributes and element content without escaping
This issue affects Frappe: 16.10.0.
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.
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-25088
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB