Skip to main content

Frappe Framework CVE-2026-41581

| EUVDEUVD-2026-36453 MEDIUM
SQL Injection (CWE-89)
2026-06-12 GitHub_M
6.9
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Identify internet-facing Frappe instance
  2. Delivery
    Locate get_blog_list HTTP endpoint
  3. Exploit
    Craft SQL injection payload in query parameter
  4. Execution
    Send unauthenticated request
  5. Impact
    Extract partial database records or manipulate data

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

No special conditions are required for exploitation - the CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) confirms this is a remote, unauthenticated attack against a network-accessible endpoint with no special attack prerequisites. The blog module must be deployed and the get_blog_list function must be reachable via HTTP/HTTPS, which is standard for Frappe deployments using the blog feature. What limits exploitation: the impact is bounded to Low confidentiality and Low integrity (no full database dump, no RCE, no availability impact per CVSS VC:L/VI:L); the blog module must be in use (deployments that have disabled or never configured the blog feature are not exposed through this specific vector); and patched versions 15.106.0 and 16.16.0 fully remediate the flaw.

Impact

Real-world risk is moderate-to-low for most operators. The CVSS 4.0 base score of 6.9 reflects a meaningful but bounded impact: confidentiality and integrity are both rated Low (VC:L/VI:L), with no availability impact and no scope change to subsequent systems (SC:N/SI:N/SA:N). EPSS at 0.02% in the 5th percentile confirms that automated or mass exploitation has not been observed and is statistically unlikely in the near term. This is not listed in CISA KEV, and no public proof-of-concept code has been identified. The primary concern is that the endpoint is unauthenticated and network-accessible (AV:N/PR:N), meaning any internet-facing Frappe deployment is in scope without any preconditions beyond connectivity. SQL injection impact is bounded here - partial data leakage and limited data manipulation - rather than full database dump or remote code execution, which limits its severity relative to typical high-CVSS SQLi.

Exploit ScenarioDerived

An unauthenticated attacker sends a crafted HTTP GET or POST request to the Frappe blog listing endpoint, injecting SQL syntax into a query parameter handled by get_blog_list. The injected payload manipulates the underlying SQL query, allowing the attacker to enumerate database schema, extract partial application data, or perform limited data writes - all without requiring any account or session on the target application. No public proof-of-concept exploit code has been identified at time of analysis.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
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 – Jun 12, 2026

SQL Injection in the Frappe full-stack web framework's get_blog_list function allows unauthenticated remote attackers to manipulate database queries, leading to limited data read and write access. Frappe versions prior to 15.106.0 (v15 branch) and 16.16.0 (v16 branch) are affected across all deployments that expose the blog module. No public exploit code has been identified and exploitation probability is very low per EPSS (0.02%), though the network-accessible, unauthenticated attack surface warrants prompt patching for internet-facing instances.

RemediationAI

Upgrade Frappe to version 15.106.0 or later on the v15 branch, or to 16.16.0 or later on the v16 branch - these are the vendor-confirmed patched releases per the GitHub security advisory at https://github.com/frappe/frappe/security/advisories/GHSA-h9hf-57r4-cm65. For operators unable to patch immediately, a targeted workaround is to disable or restrict access to the blog listing endpoint (get_blog_list) via web server rules (e.g., nginx location block or WAF rule) - note that this will break blog listing functionality for end users. A web application firewall rule filtering SQL metacharacters on the affected route can reduce risk but should not be treated as a permanent substitute for patching, as WAF bypasses for SQLi are well-documented. No other compensating controls are specifically supported by the vendor advisory.

Affected VersionsENISA

frappe < 15.106.0
frappe < 16.16.0

Affected Packages

euvd frappe 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

Frappe is a Python-based full-stack web application framework underpinning ERPNext and other business applications. The vulnerable function, get_blog_list, is a server-side data retrieval method that constructs SQL queries to fetch blog post listings. The root cause is CWE-89 (Improper Neutralization of Special Elements used in an SQL Command), meaning attacker-controlled input is interpolated directly into SQL without adequate parameterization or escaping. The CPE cpe:2.3:a:frappe:frappe:*:*:*:*:*:*:*:* covers all versions of the Frappe package as distributed (e.g., via pip). The CVSS 4.0 vector AV:N/AC:L/AT:N/PR:N/UI:N confirms this endpoint is reachable over the network without authentication or special attack preconditions, consistent with a public-facing blog listing route.

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

Network-reachable unauthenticated endpoint (AV:N/PR:N); bounded SQL injection yields partial data read/write only, no scope change or availability impact.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

1
Patch available
Jun 12, 2026 - 16:01 EUVD

DescriptionCVE.org

Frappe is a full-stack web application framework. Prior to versions 15.106.0 and 16.16.0, there is a possible SQL Injection via get_blog_list. This issue has been patched in versions 15.106.0 and 16.16.0.

Threat Intelligence Overview

EPSS Score
0.0%
Top 95% exploitable
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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.0%
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
Yes
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