Skip to main content

Frappe CVE-2026-3837

| EUVDEUVD-2026-25088 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-04-22 Fluid Attacks
4.6
CVSS 4.0 · NVD
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Obtain high-privilege credentials or account
  2. Delivery
    Create or edit document field
  3. Exploit
    Inject unescaped XSS payload into vulnerable formatter field
  4. Install
    Persist malicious document in Frappe backend
  5. C2
    Victim opens document in Desk UI
  6. Execute
    Formatter renders unescaped HTML containing payload
  7. Impact
    JavaScript executes in victim's browser context
  8. Step 8
    Session 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

frappe 16.10.0

Affected Packages

euvd frappe no fix

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

NVD PRIMARY 4.6 MEDIUM
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

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
High
User Interaction
Active
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
Low
Subsequent system: Integrity
Low
Subsequent system: Availability
None

Lifecycle Timeline

2
CVSS changed
Apr 22, 2026 - 21:22 NVD
4.6 (MEDIUM)
CVE Published
Apr 22, 2026 - 19:52 nvd
MEDIUM 4.6

DescriptionCVE.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

EPSS Score
0.1%
Top 78% exploitable
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.1%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

23
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +23
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

More in Frappe

View all
CVE-2025-67289 CRITICAL POC
9.6 Dec 22

Stored cross-site scripting leading to code execution in Frappe Framework 15.89.0 (and the ERPNext application built on

CVE-2018-3885 HIGH POC
8.8 Sep 12

An exploitable SQL injection vulnerability exists in the authenticated part of ERPNext v10.1.6. Rated high severity (CVS

CVE-2018-3884 HIGH POC
8.8 Sep 12

An exploitable SQL injection vulnerability exists in the authenticated part of ERPNext v10.1.6. Rated high severity (CVS

CVE-2018-3883 HIGH POC
8.8 Sep 12

An exploitable SQL injection vulnerability exists in the authenticated part of ERPNext v10.1.6. Rated high severity (CVS

CVE-2018-3882 HIGH POC
8.8 Sep 12

An exploitable SQL injection vulnerability exists in the authenticated part of ERPNext v10.1.6. Rated high severity (CVS

CVE-2025-66440 HIGH POC
8.8 Dec 15

Authenticated SQL injection in Frappe ERPNext through 15.89.0 allows low-privilege users to extract arbitrary database c

CVE-2025-66439 HIGH POC
8.8 Dec 15

SQL injection in Frappe ERPNext through 15.89.0 lets an authenticated attacker with a valid session and access to the Pa

CVE-2025-66437 HIGH POC
8.8 Dec 15

Authenticated server-side template injection in Frappe ERPNext through 15.89.0 lets a user who can create or modify an A

CVE-2020-6145 HIGH POC
8.8 Aug 10

An SQL injection vulnerability exists in the frappe.desk.reportview.get functionality of ERPNext 11.1.38. Rated high sev

CVE-2026-39352 HIGH POC
8.7 May 20

Arbitrary file read in the Frappe full-stack web application framework allows remote unauthenticated attackers to retrie

CVE-2025-10655 HIGH POC
8.6 Dec 09

SQL injection in Frappe HelpDesk 1.14.0 dashboard functionality allows authenticated attackers to execute arbitrary SQL

CVE-2025-52042 HIGH POC
8.2 Oct 01

In Frappe ERPNext 15.57.5, the function get_rfq_containing_supplier() at erpnext/buying/doctype/request_for_quotation/re

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy