Skip to main content

Frappe ERPNext EUVDEUVD-2026-98039

| CVE-2026-109648 HIGH
SQL Injection (CWE-89)
2026-10-12 VulnCheck GHSA-vfcx-pfmr-f4vw
7.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Authenticate with low-privileged ERPNext account
  2. Exploit
    Send crafted request to vulnerable endpoint
  3. Execution
    Inject SQL via missing input validation
  4. Impact
    Extract sensitive data from database

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 an authenticated ERPNext session with at least low-level privileges (PR:L) - the attacker must already possess or obtain valid application credentials. The flaw lies in specific endpoints that perform missing input validation, allowing SQL injection into database queries; it affects ERPNext versions before 15.106.0 and 16.x before 16.16.0. Limiting factors: valid authentication is mandatory (ruling out anonymous internet scanning), and impact is confined to confidentiality (data extraction) with no inherent write/integrity or availability effect. Realistic risk is highest for internet-exposed instances that provision self-service or broad low-privilege user accounts; instances restricted to a small set of trusted internal users face lower exposure.

Impact

This is a genuine but moderate-priority issue rather than a top-tier emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N) tells a consistent story: network-reachable, low attack complexity, no user interaction, but requiring low-level authenticated privileges (PR:L) and causing confidentiality impact only (VC:H) with no integrity or availability damage. That aligns with the description - an authenticated SQL injection enabling extraction of sensitive data. The 7.1 score is driven by the high confidentiality impact, not by unauthenticated access. No EPSS score, CISA KEV listing, or POC reference was provided in the input, so exploitation likelihood signals are absent: there is no public exploit identified at time of analysis and no evidence of active exploitation. The requirement for valid authentication (PR:L) meaningfully limits widespread opportunistic exploitation, though any legitimate low-privileged ERPNext user - or an attacker who has phished/compromised one such account - could leverage it. Net: a real vulnerability worth patching promptly for internet-exposed ERPNext instances, but not a drop-everything KEV-grade threat based on the signals supplied. Note the absence of EPSS/KEV/POC is a data gap, not evidence of low risk.

Exploit ScenarioDerived

An attacker with a valid low-privileged ERPNext account (e.g., a standard user, or a compromised employee credential) sends a specially crafted request to one of the affected endpoints that lacks input validation, injecting SQL into a backend query. Because low attack complexity applies and no user interaction is needed, the attacker can iteratively extract sensitive records - customer data, financial entries, or credential hashes - directly from the underlying database. No public exploit code was identified in the provided intelligence.

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

SQL injection in Frappe ERPNext before 15.106.0 and 16.x before 16.16.0 allows an authenticated attacker holding at least low-level application credentials to inject SQL into database queries through specific endpoints that fail to validate input, resulting in extraction of sensitive data from the underlying database. The vulnerability is confidentiality-only (CVSS:4.0 7.1 / assessed CVSS:3.1 7.1, C:H with I:N and A:N) - there is no integrity or availability impact, and exploitation is not possible anonymously, so broad internet scanning is ruled out. No public exploit code was identified at time of analysis and the issue is not confirmed actively exploited (CISA KEV); risk is highest for internet-exposed instances that provision self-service or broadly distributed low-privilege accounts.

RemediationAI

Upgrade to a vendor-released patch: ERPNext 15.106.0 or later on the 15.x branch, and 16.16.0 or later on the 16.x branch; these are the exact fix versions documented in GitHub Security Advisory GHSA-q85h-wj57-hq2h, with corroborating detail in the VulnCheck advisory (https://www.vulncheck.com/advisories/frappe-erpnext-before-15.106.0-sql-injection-via-missing-input-validation). Where immediate upgrade is not feasible, compensating controls are warranted because the flaw requires only authenticated (PR:L) access: audit and shrink the low-privilege account surface - disable or tightly approve self-service signups, portal access, and guest-style roles so that untrusted parties cannot obtain the credentials the exploit needs - accepting the business trade-off of reduced self-service onboarding; restrict network exposure of ERPNext (VPN or IP allowlisting for the web tier) at the cost of accessibility for distributed or mobile users; and deploy WAF/IDS rules targeting SQL metacharacters and error signatures on the affected endpoints, recognizing that signature-based filtering is bypassable and should be treated as a stopgap. Monitor database and application logs for unusual SQL errors, UNION patterns, or anomalous large SELECT result volumes from low-privileged sessions, and rotate credentials or audit data exposure for any account suspected of prior abuse.

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

The root cause is CWE-89 (Improper Neutralization of Special Elements used in an SQL Command), the classic SQL injection class, arising where ERPNext endpoints pass user-controlled parameters into database queries without proper validation or parameterization. ERPNext is the flagship application of the Frappe framework, a Python/JavaScript metadata-driven stack whose DocType layer normally abstracts database access via the ORM, but which also permits raw SQL through helpers such as frappe.db.sql. When a handler concatenates or interpolates request input into such a raw query instead of using bind parameters or the framework's query builder, an attacker can alter the query's structure - for example through UNION or boolean/error-based inference - to read records outside the intended result set. The affected CPE identifier is cpe:2.3:a:frappe:erpnext, covering all builds prior to the fixed 15.106.0 release and the 16.x line prior to 16.16.0. Because the injection is reachable only after authentication (the CVSS 4.0 vector specifies PR:L), the vulnerability is best characterized as a privilege-escalation-of-data-access flaw: a low-privileged tenant, portal, or self-service user can potentially read information their role should not expose.

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 authenticated SQLi (PR:L) with low complexity and no UI; impact is data extraction only, so C:H with I:N/A:N and unchanged scope.

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 some endpoints due to missing input validation. Authenticated attackers can send specially crafted requests to inject SQL into database queries and extract sensitive information from the underlying database.

Technical POC Analysis

Evidence note: the only supplied artefact is GitHub advisory GHSA-q85h-wj57-hq2h.

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, the ERP platform underpinning core finance, HR, and customer operations, carries a high-severity SQL injection flaw (CVE-2026-109648) that permits a user holding only low-level application credentials to extract sensitive data from the underlying database. Because the defect is reachable by any authenticated account, organizations that broadly distribute self-service or low-privilege ERP access - particularly those with internet-exposed instances - face the greatest exposure. While there is no integrity or availability impact and no public exploit code identified at time of analysis, unauthorized disclosure of ERP-resident business and personal data carries regulatory notification, contractual, and reputational consequences that warrant leadership attention.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: restrict network exposure of ERPNext endpoints and place them behind VPN or allow-listed access; enforce least privilege by limiting and auditing the issuance of low-privilege and self-service accounts; grant the ERPNext database service account only the minimum privileges required; deploy WAF or database-layer input-validation rules to block SQL injection patterns on affected endpoints; enable database query logging and alert on anomalous extraction activity; monitor outbound data flows from ERPNext hosts for signs of bulk data exfiltration.

Threat Intelligence Overview

EPSS Score
0.3%
Top 81% exploitable
Prevalence
Medium
popular open-source ERP suite, common but not universally deployed
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