Read the docs

Frappe ERPNext Stored XSS via Public Portal Form

Priority LOW 23CWE-79Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
Passive
Attack complexity
Low
Attack requirements
None
Impact type
Cross-site scripting
Confidentiality · integrity · availability
None · None · 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.112.0 and 16.x before 16.23.0 contains a stored cross-site scripting flaw in a public portal form. Content submitted through the form is stored and later rendered without proper neutralisation, which is tracked as CWE-79. An unauthenticated remote attacker can submit crafted markup that runs in the browser sessions of staff who review the stored record.

Written with Claude Haiku 5.5 from the sources below · 2026-10-29

Description from the CNA

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.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00205 10th percentileScored 2026-11-07
Fix Fixed erpnext (frappe): 15.112.0, 16.23.0

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

VendorProductAffected versionsFixed inStatusSource
frappeerpnextbefore 15.112.0; 16.0.0-beta.1 to before 16.23.015.112.0, 16.23.0Patch availableCNA
  • erpnext Vendorfrappe Affected before 15.112.0; 16.0.0-beta.1 to before 16.23.0 Fixed in 15.112.0, 16.23.0 Patch available CNA

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:a:frappe:erpnext:*:*:*:*:*:*:*:*——frappe
  • cpe:2.3:a:frappe:erpnext:*:*:*:*:*:*:*:* Versions — — ·frappe

Remediation

Upgrade ERPNext to version 15.112.0 in the 15.x branch or to version 16.23.0 in the 16.x branch. The sources do not list vendor advisories for this fix.

Written with Claude Haiku 5.5 from the sources below · 2026-10-29

  • Fix · CNA erpnext (frappe) Fixed in 15.112.0, 16.23.0

Fixed in the same release

Records fixed by the same vendor advisory or release, as the CNA lists them.

  • Release ·

    frappe erpnext 15.112.0, 16.23.0

    5 records Highest priority Priority LOW 5 LOW

    Other records, highest priority first

    • TI-2026-71369 Stored XSS in Frappe ERPNext via tool view record namesPriority LOW 38
    • TI-2026-71419 Missing authorization in Frappe ERPNext production record endpointsPriority LOW 31
    • TI-2026-71409 Missing authorization in Frappe ERPNext exposes personal dataPriority LOW 31

Timeline

  1. 2026-10-13 Threatist record created from CVE-2026-109662
  2. 2026-10-13 Alias added: GHSA-hv86-v32f-rvgp
  3. 2026-10-14 CISA SSVC decision points changed

References

  • 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
See all 321 →

Sources