Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach public booking page unauthenticated
-
DeliverySubmit crafted HTML/JavaScript payload
-
ExploitPayload stored without neutralization
-
ExecutionPrivileged user views booking, script executes in session
-
ImpactHijack 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
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
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
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
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).
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.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
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.
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
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-98024
GHSA-rcfr-6r59-hm5x
NVD
CVE.org
EPSS
Exploit-DB