Skip to main content

Frappe ERPNext CVE-2026-109634

| EUVDEUVD-2026-98025 MEDIUM
SQL Injection (CWE-89)
2026-10-12 VulnCheck GHSA-m5mq-fx9m-f4xg
6.9
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as high-privilege user
  2. Exploit
    Send crafted request to vulnerable endpoint
  3. Execution
    Inject SQL via unvalidated input
  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 an authenticated session with high privileges (PR:H) in Frappe ERPNext versions before 15.121.0 or 16.x before 16.34.0, plus the ability to reach the specific endpoints that lack input validation. The limiting factors are significant: the attacker must already possess an elevated/administrative account, no user interaction by a victim is needed (UI:N), and only confidentiality is affected (data can be read, not altered or destroyed). This is not remote-unauthenticated; the high-privilege prerequisite confines realistic risk to insiders or scenarios where a privileged account has already been compromised.

Impact

This is a genuine but moderate-priority issue rather than an emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:H/UI:N, VC:H/VI:N/VA:N, score 6.9) describes a network-reachable, low-complexity SQL injection that nonetheless requires PR:H - high administrative privileges - which is the single largest mitigating factor: an attacker must already hold a trusted, elevated account before the flaw is reachable. The impact is confidentiality-only (VC:H, with VI:N/VA:N), consistent with the description's claim of data extraction rather than write/modification or denial of service. No CISA KEV listing and no public POC were provided, so exploitation status is 'no public exploit identified at time of analysis'; EPSS was not supplied. The signals are internally consistent - there is no conflict between the CVSS vector and the description (both agree on authenticated, high-privilege, network access). The main real-world risk is insider abuse or an attacker who has already compromised a privileged account pivoting to broader database exfiltration beyond what the application UI normally permits.

Exploit ScenarioDerived

An attacker who already controls a high-privilege ERPNext account (e.g., a compromised System Manager or a malicious insider) sends specially crafted requests to the affected unvalidated endpoints, injecting SQL to read data the application would not otherwise expose. No public exploit code was identified, and exploitation is gated on the attacker first holding elevated privileges, so this is primarily a privilege-escalation-of-data-access and insider-threat scenario rather than mass remote exploitation.

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 – Oct 12, 2026

SQL injection in Frappe ERPNext (before 15.121.0 and 16.x before 16.34.0) allows an authenticated user holding high privileges to send specially crafted requests to endpoints that lack input validation, injecting SQL that lets them read sensitive information from the underlying database. Per the assessed vector CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N, only confidentiality is affected - data can be read but not modified or destroyed - and the attacker must already hold an elevated/administrative account, which confines realistic risk to insiders or environments where a privileged account has been compromised. No public exploit code and no confirmed active exploitation (CISA KEV) were identified at time of analysis, making this a genuine but moderate-priority issue rather than an emergency; vendor patches exist in 15.121.0 and 16.34.0.

RemediationAI

Upgrade to the vendor-released fixed versions: ERPNext 15.121.0 on the 15.x branch or 16.34.0 on the 16.x branch; see the GitHub advisory GHSA-h787-3x6w-8x4m and the VulnCheck advisory for the official guidance. Because exploitation requires an authenticated high-privilege account, the most effective compensating controls are access-side: audit and aggressively trim the set of users holding administrative or system-manager roles, enforce strong authentication and MFA on those accounts so a privileged session cannot be obtained cheaply, and monitor/log privileged API and endpoint requests for anomalous SQL-ish parameters (trade-off: role reduction can disrupt legitimate operational workflows, so stage changes with the business). Where the vulnerable endpoints can be identified from the patch diff, temporarily restrict them at the reverse proxy or application layer to trusted networks or specific roles (trade-off: this can break integrations and reporting jobs that rely on those routes). Rotate credentials and secrets stored in or reachable from the same database if you have evidence that a privileged session was abused, since SQL injection here is read-only in impact and would be used for data exfiltration rather than tampering. There is no indication that network-level blocking alone is sufficient, and no vendor-released patch alternative is identified beyond the fixed versions above.

Affected VersionsENISA

ERPNext 0 <15.121.0
ERPNext 16.0.0-beta.1 <16.34.0

Affected Packages

euvd erpnext fix: 15.121.0, 16.34.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 flaw is CWE-89 (Improper Neutralization of Special Elements used in an SQL Command), a classic SQL injection class in which application input is concatenated into a database query without parameterization or validation. ERPNext is a Python-based ERP built on the Frappe framework, which typically sits on MariaDB/MySQL; the framework provides query builders and parameterized database APIs, but specific exposed endpoints bypass those safe patterns and pass user-controlled parameters directly into SQL. An attacker with the required high-privilege session can therefore manipulate query logic to append conditions, use UNION-style or boolean/error-based techniques to read arbitrary rows, and exfiltrate records the endpoint was never intended to expose - for example other tables, configuration, or credential-adjacent data within the same database. The CPE string cpe:2.3:a:frappe:erpnext:*:*:*:*:*:*:*:* is a wildcard covering all ERPNext releases, confirming the product-level scope rather than a single build; the version boundaries in the advisory define exactly which releases are vulnerable.

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 6.9 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 4.9 MEDIUM

Network-reachable, low-complexity SQLi but reachable only by a high-privilege authenticated user (PR:H); impact is data disclosure only, so C:H with I:N/A:N and no scope change.

3.1 AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:H/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
High
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

1
Patch available
Oct 13, 2026 - 02:16 EUVD

DescriptionCVE.org

Frappe ERPNext before 15.121.0 and 16.x before 16.34.0 contains an SQL injection vulnerability in some endpoints due to missing input validation. Authenticated attackers with high privileges can send specially crafted requests to these endpoints to inject SQL and extract sensitive information from the database.

Threat Intelligence Overview

EPSS Score
0.3%
Top 79% exploitable
Prevalence
Medium
popular open-source ERP, common in SMBs but not ubiquitous
Data Quality
4 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 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

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