Skip to main content

Frappe ERPNext CVE-2026-109662

| EUVDEUVD-2026-98053 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-10-12 VulnCheck GHSA-hv86-v32f-rvgp
5.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Reach public ERPNext portal form
  2. Delivery
    Submit record with crafted markup
  3. Exploit
    Payload stored server-side
  4. Execution
    Staff opens record for review
  5. Persist
    Script executes in staff browser session
  6. Impact
    Hijack 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.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.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

ERPNext 16.0.0-beta.1 <16.23.0
ERPNext 0 <15.112.0

Affected Packages

euvd erpnext fix: 15.112.0, 16.23.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 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

Vendor (VulnCheck) PRIMARY 5.3 MEDIUM
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
vuln.today AI 6.1 MEDIUM

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.

3.1 AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/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
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
Low
Subsequent system: Integrity
Low
Subsequent system: Availability
None

Lifecycle Timeline

1
Patch available
Oct 13, 2026 - 02:16 EUVD

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

EPSS Score
0.2%
Top 90% exploitable
Prevalence
Medium
popular open-source ERP, common in SMBs but not everywhere
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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
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· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

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