Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach public ERPNext portal form
-
DeliverySubmit record with crafted markup
-
ExploitPayload stored server-side
-
ExecutionStaff opens record for review
-
PersistScript executes in staff browser session
-
ImpactHijack session or exfiltrate data
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 | Requires an ERPNext instance exposing a public portal form that accepts unauthenticated submissions and stores the content for later back-office review (e.g. a web-facing intake/request form) - if no such portal form is published, the unauthenticated entry point does not exist. Exploitation is NOT self-triggering: the stored payload only executes when an authenticated staff member subsequently opens the malicious record in their browser (CVSS UI:P), so a human review action is a hard prerequisite. Impact is confined to the reviewing user's browser session (subsequent-system SC:L/SI:L); there is no direct server-side confidentiality, integrity, or availability impact (VC:N/VI:N/VA:N). Patched in ERPNext 15.112.0 and 16.23.0. |
| Impact | This is a medium-severity (CVSS 4.0 base 5.3) stored cross-site scripting flaw whose signals are consistent and point to a moderate, not critical, priority. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P) confirms a network-reachable, low-complexity, unauthenticated submission path, which is attractive because anyone on the internet can plant the payload; however the impact metrics are deliberately modest (VC:N/VI:N/VA:N on the vulnerable system, with only SC:L/SI:L on the subsequent system - i.e. the staff member's browser session), reflecting that this is a client-side script-execution issue rather than direct server compromise. Critically, exploitation is gated by UI:P: the payload only fires when a staff member later reviews the malicious record, so there is a human-in-the-loop delay and no guaranteed automatic trigger. No EPSS score, CISA KEV listing, SSVC decision, or public POC was provided in the input, so there is no evidence of active exploitation or automatable mass exploitation - exploitation status is therefore 'no public exploit identified at time of analysis'. The absence of KEV/EPSS data is a genuine gap (absence is not proof of safety), but nothing in the data elevates this above a standard, patch-on-normal-cadence stored XSS. Net: a real but bounded issue - worth patching, especially in internet-facing portals, yet not an emergency. |
| Exploit ScenarioDerived | An unauthenticated attacker locates an ERPNext public portal form that accepts submissions (e.g. a web-facing request/intake form) and submits a record containing crafted HTML/JavaScript markup instead of benign text. When a staff member later opens the backend to review that stored submission, the insufficiently neutralised markup renders and executes in the reviewer's authenticated browser session, enabling session-context actions such as cookie/token theft or UI manipulation. No public exploit code was identified at time of analysis, so this scenario is inferred from the description and CVSS vector rather than a published POC. |
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.112.0 and 16.x before 16.23.0) lets unauthenticated attackers inject crafted markup through a publicly exposed portal form that saves submissions for later back-office review; the payload executes in the browser of the authenticated staff member who opens the stored record. Because the CVSS 4.0 vector carries PR:N, the entry point is unauthenticated, but exploitation is not self-triggering - a human review action is a hard prerequisite (UI:P), and impact is confined to the reviewing user's browser session (SC:L/SI:L) with no direct server-side confidentiality, integrity, or availability loss (VC:N/VI:N/VA:N). Rated 5.3 (medium), with no public exploit identified at time of analysis and no confirmed active exploitation (CISA KEV); vendor-released patches exist in ERPNext 15.112.0 and 16.23.0.
RemediationAI
Upgrade to the vendor-released fixed versions - ERPNext 15.112.0 for the 15.x line or 16.23.0 for the 16.x line - per the GitHub advisory GHSA-4rfh-2hfg-9m7w and the VulnCheck advisory. If immediate upgrade is not possible, disable or unpublish any public portal form that accepts unauthenticated submissions (or gate it behind authentication and review), which removes the unauthenticated entry point but may interrupt legitimate intake workflows; alternatively require CAPTCHA/moderation and sanitise stored field values on output so reviewer screens encode untrusted markup. Because exploitation requires a staff member to open the stored record (UI:P), limiting who reviews external submissions, training reviewers to treat unsolicited portal content as hostile, and applying a restrictive Content-Security-Policy to back-office pages can reduce exploitability, though CSP is a mitigating control and not a substitute for patching. Re-scan existing portal form submissions for injected markup after remediation.
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 flaw is CWE-79 (improper neutralisation of input during web page generation, stored variant). ERPNext exposes configurable web portal forms that can be published to the internet and accept unauthenticated submissions; the submitted content is persisted in the database and later rendered inside ERPNext back-office screens without sufficient output encoding, so attacker-controlled markup is interpreted as HTML/JavaScript in the reviewing staff member's session. The affected component is tracked by CPE cpe:2.3:a:frappe:erpnext:*:*:*:*:*:*:*:* and tagged XSS/ERPNext/Frappe. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P/S:X with subsequent-system impact SC:L/SI:L and no vulnerable-system C/I/A impact) shows the attack surface is a network-reachable, unauthenticated submission path, while the consequence is scoped to the downstream browser of a privileged reviewer rather than the application server itself, making session-context abuse (e.g. acting as the logged-in user) the primary technical risk.
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:N/VI:N/VA:N/SC:L/SI:L/SA:N
Unauthenticated network submission (PR:N/AV:N/AC:L); payload fires only when staff view the record (UI:R); stored XSS crosses into the victim browser context (S:C) with limited C/I and no availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
1DescriptionCVE.org
Frappe ERPNext before 15.112.0 and 16.x before 16.23.0 contains a stored cross-site scripting vulnerability in a public portal form that accepts unauthenticated submissions and stores content later rendered with insufficient neutralisation. Unauthenticated attackers can submit crafted markup that executes in the browser sessions of staff who review the stored record.
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-98053
GHSA-hv86-v32f-rvgp
NVD
CVE.org
EPSS
Exploit-DB