CVE-2026-12895: Frappe ERPNext · SQL Injection
Affects Frappe ERPNextSource CVE Database V5
Not known to be exploited · CVSS 7.1 High : upgrade to 16.22.0 or 15.111.0 soon.
Data as of 28 Oct 2026, 05:11 UTC
- EPSS
- 0.3% chance of exploitation in 30 days – higher than 30% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 16.22.0, 15.111.0
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:L/SC:N/SI:N/SA:NExploitation evidence
Disclosed: evidence found.
CVE published 29 Jul 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
What to do
Upgrade Frappe ERPNext to 16.22.0 or 15.111.0.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| FrappeERPNext | Affected
| Fixed in
|
| FrappeERPNext | Affected
| Fixed in
|
AI-suggested
If you cannot patch yet, restrict access to trusted users only and monitor for suspicious activity related to Supplier record modifications. Avoid using vulnerable versions in production environments if possible.
Description
SQL injection in Frappe's ERPNext, versions ERPNext 15.107.0 and Frappe 15.107.2. The application constructs SQL queries through direct string interpolation using `str.format()` without employing parameterized queries, allowing the name (docname) of a Supplier record containing SQL metacharacters to be interpreted as part of the query. Exploitation of this vulnerability could allow an authenticated user with low privileges to execute arbitrary SQL queries, bypass Frappe’s access restrictions (DocPerm), extract confidential information from the database—including fragments of the administrator’s password hash—and access other sensitive data, such as credentials, integration tokens, or financial information.