Skip to main content

Frappe ERPNext EUVDEUVD-2026-98038

| CVE-2026-109647 HIGH
SQL Injection (CWE-89)
2026-10-12 VulnCheck GHSA-76ff-wm2c-rg2q
7.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Obtain low-privilege ERPNext account
  2. Exploit
    Send crafted input to vulnerable endpoint
  3. Execution
    Injected SQL alters backend query
  4. Impact
    Extract sensitive database records

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 ERPNext session with at least low-privilege access (CVSS PR:L) that can reach the affected endpoints; the attacker then supplies unvalidated input to one of the 'multiple endpoints' to manipulate database queries. LIMITING FACTORS: authentication is mandatory (no anonymous/pre-auth path per PR:L), so risk is highest where low-privilege accounts are widely issued, self-registration is enabled, or the instance is internet-exposed and multi-tenant. Affected builds are ERPNext before 15.106.0 and 16.x before 16.16.0; patched versions remove the exposure. Impact is confined to data disclosure (VC:H) with no inherent integrity or availability impact per the vector.

Impact

This is a moderate-priority, authenticated SQL injection (CWE-89) in Frappe ERPNext, best characterized as a real but access-gated data-exposure risk rather than a drop-everything emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) indicates a network-reachable, low-complexity attack with no user interaction, but PR:L means a valid authenticated account is a hard prerequisite - this is not a pre-auth mass-exploitation primitive. Impact is scoped to confidentiality only (VC:H, VI:N, VA:N): the flaw enables reading sensitive data from the database but, per the vector, does not directly grant data modification or denial of service. No EPSS score, CISA KEV listing, or public exploit code is present in the provided data, so exploitation status is 'no public exploit identified at time of analysis'; the absence of these signals is consistent with a recently disclosed issue reported by VulnCheck rather than evidence of active campaigns. The main uncertainty: the description says 'multiple endpoints,' so the real-world blast radius depends on which features/roles the affected endpoints require - a low-privilege but broadly granted role would materially raise risk, while an admin-only endpoint would lower it. Prioritize patching for internet-exposed, multi-tenant, or many-user ERPNext deployments where low-privilege accounts are common or self-registration is possible.

Exploit ScenarioDerived

An attacker who holds (or phishes/registers) a low-privilege ERPNext account sends specially crafted input to one of the affected endpoints, where missing input validation lets attacker-controlled data alter the backend SQL query. By iterating injected payloads, the attacker reads records beyond their authorization - such as financial, customer, or HR data - effectively turning a limited account into a database read oracle. No public exploit code is identified at time of analysis, and the low attack complexity (AC:L) means a motivated authenticated user could develop a working payload with standard SQLi techniques.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.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 – Oct 12, 2026

Authenticated SQL injection in Frappe ERPNext (before 15.106.0 and 16.x before 16.16.0) allows a low-privilege logged-in user to inject crafted input into several endpoints that build database queries without adequate validation, exposing sensitive data stored in the ERPNext database. The assessed vector (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N, vendor score 7.1) confirms high confidentiality impact with no inherent integrity or availability effect, and authentication is mandatory, so risk is concentrated where low-privilege accounts are widely issued, self-registration is enabled, or instances are internet-facing. No public exploit code and no confirmed active exploitation were identified at time of analysis, though the breadth of affected endpoints and the presence of a public GitHub security advisory make the issue operationally relevant for exposed, multi-tenant deployments.

RemediationAI

Upgrade to the fixed releases: ERPNext 15.106.0 or later on the 15.x line, and 16.16.0 or later on the 16.x line - Vendor-released patch: 15.106.0 and 16.16.0. Consult the vendor advisory at https://github.com/frappe/erpnext/security/advisories/GHSA-h68p-2phh-vh26 for the authoritative upgrade guidance and the VulnCheck advisory at https://www.vulncheck.com/advisories/frappe-erpnext-before-15.106.0-sql-injection-via-missing-validation-2 for version confirmation. Until patching is complete, apply compensating controls targeted at the mandatory PR:L precondition: revoke or tightly scope low-privilege and service accounts that do not need access to the affected endpoints, and disable self-registration so outside parties cannot mint the session the attack requires (trade-off: this disrupts legitimate onboarding flows and any integration accounts relying on those roles). Restrict network reachability of ERPNext - place it behind VPN or an allowlist rather than exposing it directly to the internet, accepting reduced remote-access convenience for staff. Enable and review application and database query logging to detect anomalous statements from low-privilege users, and consider a WAF rule set targeting SQL metacharacters on ERPNext request paths, recognizing that signature filtering is bypassable and must not be treated as a substitute for the upgrade. Importantly, because the assessed impact is data disclosure only (no integrity or availability effect), be sure to review audit logs and consider notification obligations for data that may already have been read.

Affected VersionsENISA

ERPNext 0 <15.106.0
ERPNext 16.0.0-beta.1 <16.16.0

Affected Packages

euvd erpnext fix: 15.106.0, 16.16.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 the flagship ERP application built on the Frappe framework, a Python/JavaScript stack whose data layer is normally mediated by DocType metadata and the frappe.db API. CWE-89 (Improper Neutralization of Special Elements used in an SQL Command) applies here: the affected endpoints pass request-supplied input into SQL query construction without sufficient validation or parameter binding, allowing an attacker to reshape the resulting statement. The CPE cpe:2.3:a:frappe:erpnext:*:*:*:*:*:*:*:* indicates the flaw is version-bound to the ERPNext application rather than to a downstream database engine, meaning the fix lives in ERPNext's endpoint handlers. Because the bug is read-oriented per the assessed vector (VC:H with VI:N and VA:N), the practical exposure is query manipulation for data extraction - reading tables the requesting user should not be able to see - rather than statement execution, data destruction, or denial of service. The description's reference to 'multiple endpoints' implies more than one request handler shares the same missing-validation pattern, so partial patching or endpoint-by-endpoint filtering is insufficient; the version-level fix is the reliable remedy.

Know when Frappe 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 (VulnCheck) PRIMARY 7.1 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 6.5 MEDIUM

Network-reachable endpoint with low complexity but requiring an authenticated account (PR:L); impact is sensitive-data disclosure only, so C:H with I:N and A:N.

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 (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Oct 13, 2026 - 02:16 EUVD
CVE Published
Oct 12, 2026 - 22:22 cve.org
HIGH 7.1

DescriptionCVE.org

Frappe ERPNext before 15.106.0 and 16.x before 16.16.0 contains an SQL injection vulnerability in multiple endpoints caused by missing input validation. Authenticated attackers can send specially crafted requests to these endpoints to manipulate database queries and extract sensitive information from the ERPNext database.

Technical POC Analysis

Evidence note: the only supplied artifact is the GitHub advisory GHSA-h68p-2phh-vh26.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Frappe ERPNext instances running versions below 15.106.0, or 16.x below 16.16.0, are exposed to a high-severity database injection flaw that allows any authenticated low-privilege user to read sensitive records held in the ERP platform, including financial, customer, and operational data. The exposure concentrates in organizations that issue accounts broadly, permit self-registration, or operate internet-facing and multi-tenant deployments, making this a data-confidentiality and compliance concern rather than a purely technical defect. Leadership should care because the data at risk is core business data, and the attack path requires only a legitimate user account rather than sophisticated external access.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis; interim mitigations include disabling self-registration, restricting low-privilege account issuance, limiting internet exposure of ERPNext endpoints, enforcing MFA and least-privilege roles, applying WAF/reverse-proxy filtering on affected endpoints, reducing database service account privileges, and monitoring logs for anomalous query patterns from low-privilege users.

Threat Intelligence Overview

EPSS Score
0.3%
Top 81% exploitable
Prevalence
Medium
popular open-source ERP, common in SMBs but not ubiquitous infrastructure
Data Quality
5 sources
Confidence: Medium

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 HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
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.

More in Frappe

View all
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-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-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-2026-39352 HIGH POC
8.7 May 20

Arbitrary file read in the Frappe full-stack web application framework allows remote unauthenticated attackers to retrie

CVE-2025-10655 HIGH POC
8.6 Dec 09

SQL injection in Frappe HelpDesk 1.14.0 dashboard functionality allows authenticated attackers to execute arbitrary SQL

CVE-2025-52042 HIGH POC
8.2 Oct 01

In Frappe ERPNext 15.57.5, the function get_rfq_containing_supplier() at erpnext/buying/doctype/request_for_quotation/re

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