Skip to main content

Frappe EUVDEUVD-2026-19792

| CVE-2026-35614 CRITICAL
SQL Injection (CWE-89)
2026-04-07 security-advisories@github.com
9.3
CVSS 4.0 · GitHub Advisory
View

Attack ChainAIDerived

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

  1. Access
    Send HTTP request to bulk_update endpoint
  2. Exploit
    Inject malicious SQL in request parameters
  3. Execution
    Execute arbitrary SQL queries
  4. Impact
    Extract or modify 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

Remote unauthenticated attacker can exploit SQL injection in Frappe's bulk_update function. Affects Frappe versions prior to 16.14.0 and 15.104.0. No special configuration or victim interaction required. Default installations are vulnerable.

Impact

This vulnerability presents critical real-world risk. The CVSS 9.3 score accurately reflects severity: unauthenticated network access (AV:N/PR:N), low complexity (AC:L), and complete confidentiality/integrity/availability impact (VC:H/VI:H/VA:H) make this immediately exploitable. SQL injection is a mature attack technique with abundant tooling (sqlmap, manual exploitation), meaning even moderate-skill attackers can weaponize this flaw once discovered. While no public exploit identified at time of analysis, the GitHub Security Advisory disclosure means proof-of-concept details may emerge rapidly. The bulk_update endpoint likely accepts JSON/POST data, making automated scanning and exploitation straightforward. Organizations running Frappe-based applications (ERPNext, custom deployments) face data breach risk, unauthorized access to business records, and potential lateral movement if database credentials enable OS-level access. The availability of patches in versions 16.14.0 and 15.104.0 provides clear remediation path, elevating this to urgent priority for any internet-facing Frappe installation.

Exploit ScenarioDerived

An unauthenticated attacker identifies a Frappe-based application exposed to the internet and targets the bulk_update API endpoint with crafted HTTP POST requests containing SQL injection payloads in parameters processed by the vulnerable function. By injecting UNION-based or Boolean-based blind SQL syntax, the attacker extracts database schema information, then systematically dumps sensitive tables containing customer records, financial data, user credentials, and business intelligence. With database admin privileges often granted to application database users, the attacker leverages SQL injection to execute operating system commands via MySQL/MariaDB's INTO OUTFILE or UDF mechanisms, achieving remote code execution and establishing persistent access to the underlying server infrastructure.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.0% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Apr 07, 2026

SQL injection in Frappe's bulk_update function enables unauthenticated remote attackers to execute arbitrary SQL commands, potentially achieving complete database compromise including data exfiltration, modification, and deletion. Affects Frappe versions prior to 16.14.0 and 15.104.0. CVSS 9.3 (Critical) reflects network-accessible attack requiring no authentication or user interaction. No public exploit identified at time of analysis, though the attack surface (bulk update API endpoint) and vulnerability class (SQL injection) are well-understood by attackers.

RemediationAI

Immediately upgrade Frappe framework to version 16.14.0 or later for version 16.x deployments, or version 15.104.0 or later for version 15.x deployments. These versions contain the vendor-released patch addressing the SQL injection in bulk_update. Deployment teams should follow standard Frappe upgrade procedures including database backups, testing in staging environments, and coordinated production rollout. Consult the GitHub Security Advisory at https://github.com/frappe/frappe/security/advisories/GHSA-583g-fg76-fhfr for additional details and potential workarounds if immediate patching is not feasible. If upgrade cannot be performed immediately, consider temporarily restricting network access to the Frappe application to trusted IP ranges or implementing web application firewall rules to filter malicious SQL syntax in POST requests to bulk update endpoints, though these are interim mitigations only and do not substitute for patching.

Affected VersionsENISA

frappe 16.0.0-beta.1, < 16.14.0
frappe < 15.104.0

Affected Packages

euvd frappe fix: 15.104.0
euvd frappe_16_0_0_beta_1 fix: 16.14.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Frappe is a full-stack Python web application framework built on MariaDB/MySQL that powers ERPNext and similar business applications. The vulnerability resides in the bulk_update functionality, which likely processes user-supplied input for batch database operations without proper parameterization or input validation. CWE-89 (SQL Injection) occurs when untrusted data is concatenated into SQL queries, allowing attackers to inject malicious SQL syntax. The CVSS 4.0 vector (AV:N/AC:L/PR:N) confirms this is remotely exploitable over the network with low attack complexity and no privileges required, meaning any unauthenticated HTTP client can potentially trigger the injection. Given Frappe's role as a database-backed application framework, successful SQL injection could expose the entire application database schema and contents.

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

GitHub Advisory PRIMARY 9.3 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from GitHub Advisory · only source for this CVE.

CVSS VectorGitHub Advisory

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

Lifecycle Timeline

2
Patch available
Apr 16, 2026 - 05:29 EUVD
16.14.0,15.104.0
CVE Published
Apr 07, 2026 - 17:16 nvd
CRITICAL 9.3

DescriptionGitHub Advisory

Frappe is a full-stack web application framework. Prior to 16.14.0 and 15.104.0, Frappe has a SQL injection in bulk_update. This vulnerability is fixed in 16.14.0 and 15.104.0.

Executive ViewAI

Why It Matters

Frappe versions prior to 16.14.0 and 15.104.0 contain a critical unauthenticated SQL injection vulnerability in the bulk_update function that allows remote attackers to directly compromise database integrity and confidentiality. Any organization running affected Frappe instances faces immediate risk of complete data loss, theft, or manipulation without requiring valid credentials or user interaction.

Business Impact: Severe
Compensating Controls

Apply vendor patch. If immediate patching is impossible: implement network-level access controls restricting the bulk_update API endpoint to known-trusted IPs only; disable bulk_update API functionality at the application firewall/WAF level if business process permits; implement real-time database activity monitoring to detect anomalous SQL execution; isolate affected Frappe instances from production networks pending patch deployment.

Threat Intelligence Overview

EPSS Score
0.0%
Top 91% exploitable
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 CRITICAL
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
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
Out-of-Cycle
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
Very High
Technical Impact
Total

Priority Score

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