Skip to main content

Frappe ERPNext CVE-2026-109633

| EUVDEUVD-2026-98024 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-10-12 VulnCheck GHSA-rcfr-6r59-hm5x
8.6
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Reach public booking page unauthenticated
  2. Delivery
    Submit crafted HTML/JavaScript payload
  3. Exploit
    Payload stored without neutralization
  4. Execution
    Privileged user views booking, script executes in session
  5. Impact
    Hijack session and take over account

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 that the ERPNext instance exposes a PUBLIC booking page that accepts externally-submitted content and renders it as raw HTML (the specific vulnerable feature). The attacker needs no authentication to plant the payload (PR:N), but exploitation only completes when a privileged/authenticated user subsequently opens and views the attacker-controlled booking content (UI:P) - this user-interaction requirement is the primary limiting factor and means the attack is not fully automatable to immediate impact. Instances not exposing the public booking feature to untrusted submitters, or running fixed versions (>=15.119.1, or 16.x >=16.32.0), are not exploitable.

Impact

This is a genuine priority within environments running the affected product, not merely a high-score-on-paper issue. The CVSS 4.0 base score of 8.6 (HIGH) is driven by a network attack vector (AV:N), low complexity (AC:L), and crucially no privileges required (PR:N) - the malicious content is submitted through a PUBLIC-facing booking page, so any anonymous internet attacker can plant the payload. The high VC:H/VI:H values reflect full account takeover of a privileged user. The main mitigating signal is UI:P (passive user interaction required): exploitation only completes when a privileged/back-office user views the attacker-submitted booking content, so there is a human-in-the-loop delay and the attacker cannot control exact timing. No EPSS score was provided in the input, so real-world exploitation probability cannot be quantified. The vulnerability is NOT listed in CISA KEV and no public exploit code was referenced - exploitation status is 'no public exploit identified at time of analysis.' Signals are internally consistent (network vector matches a public web form; stored XSS matches CWE-79), with no contradictions between the CVSS vector and the description. Net: treat as high-priority patching for any internet-exposed ERPNext instance using public booking pages, while recognizing that successful account takeover depends on a privileged user opening the poisoned record.

Exploit ScenarioDerived

An unauthenticated attacker submits a booking request through ERPNext's public-facing booking page, embedding a crafted HTML/JavaScript payload in a field that is later rendered as raw HTML. When a back-office staff member or administrator opens that booking in their authenticated session, the stored script executes in their browser, letting the attacker steal session context and act as the privileged user to take over the account. No public proof-of-concept exploit was identified in the provided sources.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 12, 2026

Stored cross-site scripting in Frappe ERPNext (before 15.119.1, and 16.x before 16.32.0) allows unauthenticated visitors to plant crafted HTML/script through a public-facing booking page; the payload is stored without neutralization and executes in the browser session of a privileged user who later views the booking content, enabling account takeover of that user. Exploitation is conditional: the instance must expose the public booking feature to untrusted submitters, and impact only completes when an authenticated, higher-privileged user opens the tainted content (UI:P in the CVSS 4.0 vector), so the attack is not fully automatable to immediate compromise and no public exploit code was identified at time of analysis. The vendor has released fixed versions, and this is a genuine priority for organizations that run the vulnerable booking workflow, not merely a high-score-on-paper issue.

RemediationAI

Vendor-released patch: upgrade to ERPNext 15.119.1 or 16.32.0 (or later) - apply the fix documented in GitHub advisory GHSA-rv4r-c8v3-3hrc, and treat the 15.119.1 and 16.32.0 branches as the minimum safe releases. If immediate upgrade is not possible, disable or unpublish the public booking page so unauthenticated visitors cannot submit content (the most effective compensating control, at the cost of losing that booking channel), or require authentication/allowlisting for booking submitters until patched. Additionally, sanitize or HTML-encode booking content on output, enforce a Content-Security-Policy that blocks inline script, and consider a WAF rule filtering script-bearing submissions to the booking endpoints. Review existing booking records and application logs for stored script payloads already submitted, and audit privileged accounts that viewed affected bookings for session abuse, since exploitation requires only that a high-privilege user open the tainted content.

Affected VersionsENISA

ERPNext 16.0.0-beta.1 <16.32.0
ERPNext 0 <15.119.1

Affected Packages

euvd erpnext fix: 15.119.1, 16.32.0

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

The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation, i.e., cross-site scripting) within ERPNext, the open-source ERP built on the Frappe framework. The vulnerable flow is the public booking page: externally submitted content is persisted server-side and subsequently rendered as raw HTML rather than being HTML-encoded or sanitized on output, which is the classic stored/persistent XSS pattern. Because ERPNext is a session-cookie-based, highly privileged business application, script executing in an authenticated user's session can drive that user's permissions across the ERP - reading data, altering records, or exfiltrating session material. The CPE string cpe:2.3:a:frappe:erpnext:*:*:*:*:*:*:*:* covers the affected product line, and the CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:N) confirms network reachability, no privileges required to inject, passive user interaction, and high confidentiality and integrity impact without availability impact. The independent 3.1 assessment (AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N) rates the same defect as scope-changing, consistent with script escaping the untrusted-submitter context into a privileged user's session.

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

Vendor (VulnCheck) PRIMARY 8.6 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
vuln.today AI 9.3 CRITICAL

Payload planted unauthenticated over the network (PR:N/AV:N/AC:L); a privileged user must view it (UI:R); script runs in that user's browser context crossing a trust boundary (S:C) enabling account takeover (C:H/I:H, A:N).

3.1 AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

Lifecycle Timeline

2
Patch available
Oct 13, 2026 - 02:16 EUVD
CVE Published
Oct 12, 2026 - 22:22 cve.org
HIGH 8.6

DescriptionCVE.org

Frappe ERPNext before 15.119.1 and 16.x before 16.32.0 contains a stored cross-site scripting vulnerability because content submitted through a public-facing booking page is stored without neutralization. Unauthenticated attackers can submit crafted content that is rendered as raw HTML in a privileged user's session, executing script to act as that user and take over the account.

Technical POC Analysis

Evidence base: GitHub advisory GHSA-rv4r-c8v3-3hrc only.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Frappe ERPNext deployments that expose the public booking feature are affected by a high-severity stored cross-site scripting vulnerability (CVE-2026-109633) that can lead to account takeover of privileged users and potential unauthorized access to sensitive ERP data. Although no public exploit identified at time of analysis and exploitation requires a privileged user to view the tainted content, the availability of a vendor-released patch makes remediation a priority for organizations relying on this feature. Leadership should ensure affected instances are identified and patched to protect business operations and data integrity.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 85% exploitable
Prevalence
Medium
popular open-source ERP, widely used by SMBs but not ubiquitous
Data Quality
5 sources
Confidence: Medium

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 HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

43
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +43
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