Skip to main content

ERPNext EUVDEUVD-2026-55830

| CVE-2026-72908 MEDIUM
SQL Injection (CWE-89)
2026-08-10 GitHub_M
6.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Obtain low-privilege ERPNext credentials
  2. Delivery
    Send crafted transaction request with injected SQL in posting_date or args field
  3. Exploit
    Trigger get_tax_template SQL construction in tax_rule.py
  4. Execution
    Malicious payload executes in database context
  5. Impact
    Extract sensitive tables (users, financials, PII) via UNION or blind injection

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Persistence

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires a valid authenticated session with at least low-privilege access to ERPNext - any user role that can initiate or view sales orders, purchase orders, or other transaction types that trigger tax template resolution is sufficient. No administrator privileges, no special configuration, and no non-default feature enablement are required beyond basic authenticated access. Exploitation is limited by the authentication requirement: unauthenticated external attackers cannot reach the vulnerable function. The CVSS vector PR:L confirms this: low-privilege authentication is necessary but the barrier is low in any multi-user ERPNext deployment. There is no indication that specific modules must be enabled beyond standard accounts and tax rule configuration, which is present in virtually all ERPNext installations.

Impact

The CVSS 3.1 vector AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N accurately reflects the exploitation profile: network-reachable, low attack complexity, requiring only low-privilege authentication, with high confidentiality impact and no integrity or availability impact. No EPSS score was provided in the source data, so probability-of-exploitation estimates cannot be quantified beyond qualitative assessment. No CISA KEV listing and no public exploit code have been identified, which meaningfully reduces the immediacy of opportunistic mass exploitation compared to what the CVSS score alone might imply. However, the low privilege requirement - any authenticated ERP user with access to transactional workflows can trigger the vulnerable function - substantially widens the attacker population in multi-tenant or shared ERPNext deployments. Integrity and availability impacts are absent from the CVSS vector, meaning confirmed exploitation is limited to data exfiltration rather than data manipulation or denial of service, though secondary chained attacks using extracted credentials are plausible. Given that ERPNext installations routinely store financial records, supplier data, employee information, and customer PII, the confidentiality impact in practice is high-value. The combination of low-complexity exploitation and high-value data targets makes this a genuine remediation priority for any organization running unpatched versions, despite the absence of confirmed in-the-wild exploitation.

Exploit ScenarioDerived

An attacker with any valid ERPNext account - including a minimal-privilege role such as a sales user or purchase user - crafts a request to a transaction endpoint that invokes get_tax_template, injecting a SQL fragment into the posting_date or a transaction argument field. The injected payload appends a UNION SELECT or boolean-based blind condition that extracts data from sensitive tables such as tabUser, tabEmployee, or tabBank Account. No public exploit code has been identified, but the vulnerability class and the publicly visible PR diff provide sufficient technical detail for a skilled attacker to independently develop an exploit.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 10, 2026

SQL injection in ERPNext's tax rule engine allows any authenticated low-privilege user to extract arbitrary database content. The get_tax_template function in erpnext/accounts/doctype/tax_rule/tax_rule.py directly interpolated request-supplied posting_date and args dictionary values into raw SQL WHERE clauses via Python f-strings and .format() calls, bypassing all parameterization. Vendor-released patches exist as versions 15.109.0 and 16.20.0; no public exploit code or active exploitation (CISA KEV) has been identified at time of analysis.

RemediationAI

Upgrade ERPNext to version 15.109.0 (release tag: https://github.com/frappe/erpnext/releases/tag/v15.109.0) or 16.20.0 (https://github.com/frappe/erpnext/releases/tag/v16.20.0), both of which contain the complete fix via migration to the Frappe query builder. The vendor security advisory is at https://github.com/frappe/erpnext/security/advisories/GHSA-grhp-m55m-63f8. If immediate patching is not possible, restrict authenticated access to ERPNext to only trusted internal users and disable or firewall the application from untrusted network segments, accepting the operational trade-off of reduced accessibility. There is no documented configuration flag to disable the vulnerable get_tax_template code path without breaking tax rule resolution entirely, so network restriction is the only meaningful compensating control. Do not rely on WAF SQL injection rules alone, as Frappe's internal routing may not surface the injection payload in a form that generic WAF signatures reliably detect.

Affected VersionsENISA

ERPNext 16.0.0, < 16.20.0
ERPNext < 15.109.0

Affected Packages

euvd erpnext fix: 15.109.0, 16.20.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

ERPNext is an open-source ERP platform built on the Frappe framework (CPE: cpe:2.3:a:frappe:erpnext:*:*:*:*:*:*:*:*). The vulnerable function get_tax_template, invoked during sales and purchase transaction processing to resolve applicable tax templates, constructed SQL WHERE clauses by embedding user-influenced values directly into raw strings passed to frappe.db.sql(). The PR diff confirms that posting_date was interpolated as a bare f-string literal, and args values for fields such as tax_category, customer_group, and billing_city were inserted via .format() with inconsistent or absent escaping. CWE-89 (SQL Injection) is the exact root cause class - the absence of prepared statements or ORM parameterization in a code path reachable via normal authenticated ERP workflows. The fix, introduced in PR #55127 and commits 2a91c72, c45d2a3, and f98975f, migrated the entire query construction to Frappe's query builder (frappe.qb), which generates parameterized queries internally and eliminates the injection surface.

Know when Erpnext 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 (GitHub_M) PRIMARY 6.5 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 6.5 MEDIUM

Network-reachable via standard HTTP, low complexity, low-privilege auth required; high confidentiality only, no integrity or availability impact confirmed.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

Lifecycle Timeline

1
Patch available
Aug 10, 2026 - 22:04 EUVD

DescriptionCVE.org

ERPNext is a free and open source Enterprise Resource Planning tool. Prior to 15.109.0 and 16.20.0, the get_tax_template function in erpnext/accounts/doctype/tax_rule/tax_rule.py constructs an SQL WHERE clause from request-influenced posting_date and args values, allowing an authenticated low-privilege user to inject SQL and extract sensitive information. This issue is fixed in versions 15.109.0 and 16.20.0.

Threat Intelligence Overview

EPSS Score
0.3%
Top 79% exploitable
Prevalence
Medium
open-source ERP used by SMBs globally, not ubiquitous enterprise infrastructure
Data Quality
6 sources
Confidence: High

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.3%
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
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.

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-66438 HIGH POC
8.8 Dec 15

Authenticated attackers with permission to create or modify Print Format documents in Frappe ERPNext through 15.89.0 can

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-2025-66434 HIGH POC
8.8 Dec 15

Authenticated server-side template injection in Frappe ERPNext through 15.89.0 allows users with privileges to configure

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-2023-54345 HIGH POC
8.7 May 05

Frappe Framework ERPNext 13.4.0 contains a sandbox escape vulnerability in RestrictedPython that allows authenticated us

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy