Stored cross-site scripting in Frappe ERPNext enables account takeover
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- Passive
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Cross-site scripting
- Confidentiality · integrity · availability
- High · High · None
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-79.
Summary
Frappe ERPNext before 15.119.0 and 16.x before 16.31.0 contains a stored cross-site scripting flaw (CWE-79) because record fields are rendered into an HTML attribute context without escaping. A low-privilege user can store a malicious payload in a record field that runs in the browser of a privileged user who opens the affected page. This can lead to account takeover.
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
Description from the CNA
Frappe ERPNext before 15.119.0 and 16.x before 16.31.0 contains a stored cross-site scripting vulnerability because record fields are rendered into an HTML attribute context without escaping. A low-privilege user can store a malicious payload in a record field that executes in the browser of any privileged user who opens the affected page, enabling account takeover.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
Update Frappe ERPNext to version 15.119.0 or 16.31.0.
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
- Fix · CNA erpnext (frappe) Fixed in 15.119.0, 16.31.0
Fixed in the same release
Records fixed by the same vendor advisory or release, as the CNA lists them.
- Release ·
frappe erpnext 15.119.0, 16.31.0
4 records Highest priority Priority LOW 4 LOW
Other records, highest priority first
- TI-2026-71404 Missing authorization in Frappe ERPNext lets users create and modify recordsPriority LOW 31
- TI-2026-71403 Missing authorization in Frappe ERPNext exposes valuation dataPriority LOW 31
- TI-2026-71413 Frappe ERPNext Missing Authorization in Transactional Email EndpointsPriority LOW 23
Timeline
- 2026-10-13 Threatist record created from CVE-2026-109653
- 2026-10-13 Alias added: GHSA-g9jx-m3gp-q3jv
- 2026-10-13 Priority changed: MEDIUM → LOW
- 2026-10-13 CISA SSVC decision points changed
References
More frappe vulnerabilities
- TI-2026-28140 ERPNext v15.103.1 and before is vulnerable to Server-Side Template Injection (SSTI). CVSS 3.1CRITICAL 9.8
- TI-2025-40873 An issue was discovered in Frappe ERPNext through 15.89.0. CVSS 3.1CRITICAL 9.8
- TI-2025-40872 An issue was discovered in Frappe ERPNext through 15.89.0. CVSS 3.1CRITICAL 9.8
- TI-2025-40871 A Server-Side Template Injection (SSTI) vulnerability exists in the Frappe ERPNext… CVSS 3.1CRITICAL 9.8
- TI-2025-32462 In Frappe ERPNext 15.57.5, the function get_rfq_containing_supplier() at… CVSS 3.1HIGH 8.2
- TI-2025-32461 In Frappe ERPNext 15.57.5, the function get_stock_balance_for() at… CVSS 3.1HIGH 8.2
Sources
- CVE-2026-109653 · CVE Program
- CVE-2026-109653 · NVD
- FIRST EPSS
- GHSA-g9jx-m3gp-q3jv · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences