Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify internet-facing Frappe instance
-
DeliveryLocate get_blog_list HTTP endpoint
-
ExploitCraft SQL injection payload in query parameter
-
ExecutionSend unauthenticated request
-
ImpactExtract 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
Affected Packages
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
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
Network-reachable unauthenticated endpoint (AV:N/PR:N); bounded SQL injection yields partial data read/write only, no scope change or availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.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
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.
Stored cross-site scripting leading to code execution in Frappe Framework 15.89.0 (and the ERPNext application built on
An exploitable SQL injection vulnerability exists in the authenticated part of ERPNext v10.1.6. Rated high severity (CVS
An exploitable SQL injection vulnerability exists in the authenticated part of ERPNext v10.1.6. Rated high severity (CVS
An exploitable SQL injection vulnerability exists in the authenticated part of ERPNext v10.1.6. Rated high severity (CVS
An exploitable SQL injection vulnerability exists in the authenticated part of ERPNext v10.1.6. Rated high severity (CVS
Authenticated SQL injection in Frappe ERPNext through 15.89.0 allows low-privilege users to extract arbitrary database c
SQL injection in Frappe ERPNext through 15.89.0 lets an authenticated attacker with a valid session and access to the Pa
Authenticated server-side template injection in Frappe ERPNext through 15.89.0 lets a user who can create or modify an A
An SQL injection vulnerability exists in the frappe.desk.reportview.get functionality of ERPNext 11.1.38. Rated high sev
Arbitrary file read in the Frappe full-stack web application framework allows remote unauthenticated attackers to retrie
SQL injection in Frappe HelpDesk 1.14.0 dashboard functionality allows authenticated attackers to execute arbitrary SQL
In Frappe ERPNext 15.57.5, the function get_rfq_containing_supplier() at erpnext/buying/doctype/request_for_quotation/re
EUVD-2026-36453
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB