Skip to main content

Frappe Framework EUVDEUVD-2026-68202

| CVE-2026-82634 HIGH
Incorrect Authorization (CWE-863)
2026-08-30 VulnCheck GHSA-p8qq-rm8q-85j9
7.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Authenticate with low-privilege Frappe account
  2. Delivery
    Access render_jinja_template endpoint
  3. Exploit
    Submit crafted Jinja template with db.sql() call
  4. Execution
    Server renders template executing arbitrary SELECT
  5. Persist
    Extract password hashes from __Auth table
  6. Impact
    Crack hashes offline for privilege escalation

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires a valid Frappe user account with print permission on at least one document - a standard, commonly assigned permission in Frappe and ERPNext deployments. The render_jinja_template endpoint in print_format_generator.py must be accessible over the network. The flaw is specifically scoped to development builds of Frappe Framework; organizations on stable production releases may not be affected and should verify their build type. What limits exploitation: the attacker must have a legitimate authenticated account (PR:L, ruling out unauthenticated remote exploitation); the Jinja execution context permits only SELECT queries and not data modification, confining impact to confidentiality; and if print permissions are restricted to a small set of trusted users, the exposed attacker population shrinks significantly. No non-default configuration is required - any deployment with at least one low-privileged user holding print permission on a development build is vulnerable.

Impact

The CVSS 4.0 score of 7.1 (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N) accurately reflects the risk profile: network-accessible, no interaction required, high confidentiality impact, but restricted to authenticated low-privilege users. The most significant real-world consequence is password hash exfiltration from the __Auth table, which can enable offline cracking and full account takeover chains affecting all users in the system. Print permission is a common baseline privilege in Frappe/ERPNext deployments, so the effective attacker population is larger than a high-privilege-required flaw would imply. Critically, the description limits exposure to development builds - organizations running stable tagged releases should verify whether their version is affected before elevating response priority. EPSS data is absent from available intelligence; the vulnerability is not listed in CISA KEV and no public POC has been confirmed, so widespread opportunistic exploitation is not currently evidenced. The impact is confidentiality-only (read-only SQL), which bounds the blast radius - an attacker cannot modify or destroy data through this vector alone.

Exploit ScenarioDerived

An attacker with a standard Frappe user account possessing print permission on any document directly calls the render_jinja_template endpoint and submits a crafted Jinja template string invoking frappe.db.sql() or equivalent database helpers against the __Auth table. The server renders the template and returns password hashes for all Frappe users in the response, which the attacker can then attempt to crack offline using tools such as hashcat to escalate to administrator access. No public POC has been identified at the time of analysis, but the attack requires no special tooling beyond knowledge of Frappe's Jinja context.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAI

Incorrect authorization in Frappe Framework development builds allows any authenticated low-privileged user holding print permission on a document to supply raw Jinja template strings to the render_jinja_template endpoint, bypassing the intended System Manager restriction. The template engine executes these strings server-side, enabling arbitrary SELECT queries across unrelated database tables - critically including extraction of password hashes from the __Auth table. No public exploit has been identified at the time of analysis, but the attack is mechanically straightforward for any user with a valid Frappe account and default print permissions, making credential theft the primary real-world risk.

RemediationAI

The upstream fix is available via GitHub PR #40710 (https://github.com/frappe/frappe/pull/40710) and commit 37d2eb59790633da01c741b950cc00ca3558c494, which adds frappe.only_for('System Manager') to the render_jinja_template endpoint. This is a patch at the commit/PR level; a tagged stable release incorporating this fix has not been independently confirmed from available data. Organizations running Frappe development builds should apply the upstream commit directly or pin to a version that includes it once a tagged release is confirmed. As an immediate workaround, administrators should audit and restrict print permissions to only trusted users, reducing the effective attacker population; note this does not eliminate the vulnerability if any untrusted user retains print permission. Additionally, restricting network access to the Frappe application to trusted internal segments reduces exposure to external attackers but does not protect against insider threats. The VulnCheck advisory at https://www.vulncheck.com/advisories/frappe-framework-development-branch-incorrect-authorization-via-jinja-template-preview-endpoint should be monitored for updates on a patched release version.

Affected VersionsENISA

frappe 0a80046da32bb8976cd7854f551c179a4a06b1b3 <37d2eb59790633da01c741b950cc00ca3558c494

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

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

Technical ContextAI · show details

Frappe Framework is a Python-based full-stack web framework that powers ERPNext and other business applications. The vulnerable code resides in frappe/utils/print_format_generator.py, which exposes the render_jinja_template endpoint for previewing Jinja-templated print formats. The root cause is CWE-863 (Incorrect Authorization): the endpoint failed to gate access to the System Manager role, allowing any low-privileged user to pass arbitrary template strings directly to Jinja2's rendering engine. Because Frappe's Jinja sandbox grants access to framework database helpers, an attacker can embed calls such as frappe.db.sql() within a template to execute arbitrary SELECT statements. The CPE cpe:2.3:a:frappe:frappe:*:*:*:*:*:*:*:* spans all versions but the description specifically scopes the issue to development builds. The upstream fix, visible in PR #40710 and commit 37d2eb59790633da01c741b950cc00ca3558c494, adds a single frappe.only_for('System Manager') guard at the top of the endpoint.

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

Low-privilege authenticated account required (PR:L) over network; read-only SQL means no integrity or availability impact; high confidentiality from password hash exposure.

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

DescriptionCVE.org

Frappe Framework development builds contain an authorization flaw in the render_jinja_template endpoint that allows low-privileged users to render arbitrary Jinja templates by supplying raw template strings. Attackers with print permission on any document can execute arbitrary SELECT statements against unrelated tables, including reading password hashes from the __Auth table.

Threat Intelligence Overview

EPSS Score
0.2%
Top 85% exploitable
Prevalence
Medium
popular open-source ERP framework underpinning ERPNext, significant SMB footprint
Data Quality
7 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 HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

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