Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-55242

CVE-2026-55242: ERPNext SSTI Information Disclosure Flaw

CVE-2026-55242 is a server-side template injection vulnerability in ERPNext that enables authenticated users to access unauthorized data. This article covers the technical details, affected versions, and mitigation.

Published:

CVE-2026-55242 Overview

CVE-2026-55242 is a server-side template injection (SSTI) vulnerability in ERPNext, the open source Enterprise Resource Planning platform maintained by Frappe. An authenticated user holding a standard operational role can inject template expressions through a configuration field. The injected payload executes on the server and returns data outside the user's normal permission scope. The flaw is categorized as CWE-863: Incorrect Authorization and affects ERPNext releases prior to 15.111.0 and 16.22.0.

Critical Impact

A low-privileged authenticated user can read data across permission boundaries by abusing template rendering in a configuration field, breaking ERPNext's role-based access controls.

Affected Products

  • ERPNext versions prior to 15.111.0
  • ERPNext versions prior to 16.22.0
  • Frappe-based ERPNext deployments accepting authenticated user input

Discovery Timeline

  • 2026-07-15 - CVE-2026-55242 published to the National Vulnerability Database (NVD)
  • 2026-07-15 - Last updated in NVD database

Technical Details for CVE-2026-55242

Vulnerability Analysis

ERPNext exposes configuration fields that accept user-supplied input and pass it through a server-side template engine. Prior to the patched releases, the application did not restrict what template expressions an authenticated operational user could submit. When the template engine renders the field, it evaluates the expression in a context that has access to internal objects and data beyond the calling user's assigned role permissions.

The result is unauthorized information disclosure. A user who legitimately holds a limited role can craft template syntax that queries records, attributes, or objects the user has no direct permission to read. Because the rendering runs server-side under the application's execution context, standard record-level permission checks do not gate the accessed data.

Root Cause

The root cause is an authorization failure at the template rendering layer. The application trusts the configuration field content and renders it without enforcing that the effective evaluation scope matches the submitting user's permissions. This aligns with CWE-863: Incorrect Authorization, where an access decision is performed but does not restrict the sensitive operation being invoked.

Attack Vector

Exploitation requires an authenticated session with a standard operational role and local access to the ERPNext interface where the vulnerable configuration field is exposed. The attacker submits a payload containing template syntax into the field. On rendering, the server evaluates the expression and returns or persists data drawn from objects outside the user's authorized scope. No user interaction from an administrator is required to trigger evaluation. Full technical detail is available in the GitHub Security Advisory GHSA-pxf3-4gvc-v45j.

Detection Methods for CVE-2026-55242

Indicators of Compromise

  • Configuration field values containing template delimiters such as {{ }} or {% %} submitted by non-administrative users
  • Unexpected access patterns in ERPNext audit logs where a low-privileged user retrieves data from doctypes outside their assigned role permissions
  • Application error logs referencing Jinja template evaluation failures tied to configuration save operations

Detection Strategies

  • Review ERPNext version strings against 15.111.0 and 16.22.0 across all tenants and staging environments to identify vulnerable instances
  • Inspect the tabDocField and configuration tables for stored values containing template control characters submitted by non-admin accounts
  • Correlate user session activity with document access events to flag reads that exceed the user's role profile

Monitoring Recommendations

  • Enable and forward ERPNext audit and access logs to a centralized log platform for anomaly analysis
  • Alert on POST requests to configuration and settings endpoints originating from accounts without administrative roles
  • Track outbound response sizes on configuration save operations to detect bulk data disclosure via template evaluation

How to Mitigate CVE-2026-55242

Immediate Actions Required

  • Upgrade ERPNext to version 15.111.0 or 16.22.0 or later without delay
  • Audit user role assignments and remove operational roles from accounts that do not require them
  • Review recent configuration changes for template syntax and revert suspicious modifications

Patch Information

Frappe fixed the vulnerability in ERPNext 15.111.0 and 16.22.0. Both releases enforce authorization checks around configuration field rendering so that template evaluation cannot bypass a user's role-scoped permissions. Refer to the GitHub Security Advisory GHSA-pxf3-4gvc-v45j for the full patch notes and commit references.

Workarounds

  • Restrict write access to configuration fields to trusted administrators until the patch is applied
  • Apply application-layer filtering on inbound configuration values to reject inputs containing {{, }}, {%, or %} sequences
  • Isolate the ERPNext instance behind network controls that limit which authenticated users can reach configuration endpoints
bash
# Upgrade ERPNext using the bench CLI
bench update --version 15.111.0
# or for the v16 branch
bench switch-to-branch version-16 erpnext --upgrade
bench update
bench --site all migrate

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.