CVE-2026-72911: ERPNext: Possibility of server-side template injection due to missing validation
ERPNext is a free and open source Enterprise Resource Planning tool. Prior to 15.118.0 and 16.29.0, the validate_template and render_template calls in erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.py render subject, body, and pdf_name fields with unrestricted globals including frappe.utils, allowing an authenticated user with a common operational role to inject template expressions, execute arbitrary server-side code, and read data across the application. This issue is fixed in versions 15.118.0 and 16.29.0.
Security readout for executives and security teams
Plain-English summary
An authenticated ERPNext user with a common operational role could abuse statement-template fields to run code on the server. Successful exploitation could expose or alter data across the application and disrupt operations. ERPNext releases 15.118.0 and 16.29.0 fix the issue.
Executive priority
Treat this as an immediate patching priority for affected ERPNext systems, especially internet-accessible or business-critical deployments. The prerequisite is only an authenticated operational account, so compromised credentials or malicious insiders could potentially gain broad control over ERP data and service availability.
Technical view
CVE-2026-72911 is server-side template injection in Process Statement of Accounts. The validate_template and render_template calls process subject, body, and pdf_name with unrestricted globals, including frappe.utils. This enables low-privileged authenticated server-side code execution. CVSS 3.1 is 9.9, with confidentiality, integrity, and availability impacts across scope.
Likely exposure
ERPNext versions below 15.118.0 and versions from 16.0.0 through 16.28.x are identified as affected. Exposure requires an authenticated account with access to the vulnerable Process Statement of Accounts functionality; the advisory indicates a common operational role can satisfy this requirement.
Exploitation context
The attack is network-accessible, requires low privileges, needs no user interaction, and has low stated complexity. The supplied bundle marks KEV as false, and no cited source establishes active exploitation. Public fix commits and pull-request details may nevertheless help attackers analyze the weakness.
Researcher notes
The weakness maps to CWE-1336 and represents a trust-boundary failure during server-side template evaluation. Validation should focus on affected call paths, deployed version provenance, role reachability, stored template content, and evidence of server-side execution. The supplied evidence does not establish exploitation in the wild or provide confirmed indicators of compromise.
Mitigation direction
Upgrade ERPNext 15 deployments to version 15.118.0 or later.
Upgrade ERPNext 16 deployments to version 16.29.0 or later.
Until upgraded, restrict access to the affected Process Statement of Accounts functionality.
Investigate and isolate affected systems if suspicious template activity or unauthorized data access is found.
Validation and detection
Inventory every ERPNext deployment and record its exact installed version.
Confirm each deployment runs 15.118.0, 16.29.0, or a later supported release.
Identify accounts and roles able to access Process Statement of Accounts.
Inspect subject, body, and pdf_name values for unexpected template expressions.
Review application and host telemetry for unexplained server execution or unauthorized data access.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-1336: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
1ADP providers
8Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: noTechnical Impact: total
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-1336 · source CWE mapping
Improper Neutralization of Special Elements Used in a Template Engine
Improper Neutralization of Special Elements Used in a Template Engine represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.