Frappe Frappe

Don't miss out!

Thousands of developers use stack.watch to stay informed.
Get an email whenever new security vulnerabilities are reported in any Frappe product.

RSS Feeds for Frappe security vulnerabilities

Create a CVE RSS feed including security vulnerabilities found in Frappe products with stack.watch. Just hit watch, then grab your custom RSS feed url.

Products by Frappe Sorted by Most Security Vulnerabilities since 2018

Frappe76 vulnerabilities

Frappe Erpnext61 vulnerabilities

Frappe Lms19 vulnerabilities

Frappe Framework12 vulnerabilities

Frappe Lms2 vulnerabilities

Frappe Crm1 vulnerability

Frappe Helpdesk1 vulnerability

By the Year

In 2026 there have been 105 vulnerabilities in Frappe with an average score of 7.0 out of ten. Last year, in 2025 Frappe had 46 security vulnerabilities published. That is, 59 more vulnerabilities have already been reported in 2026 as compared to last year. However, the average CVE base score of the vulnerabilities in 2026 is greater by 0.15.




Year Vulnerabilities Average Score
2026 105 7.04
2025 46 6.88
2024 4 6.47
2023 4 7.20
2022 7 5.70
2021 0 0.00
2020 13 6.40
2019 4 6.10
2018 2 0.00

It may take a day or so for new Frappe vulnerabilities to show up in the stats or in the list of recent security vulnerabilities. Additionally vulnerabilities may be tagged under a different product or component name.

Recent Frappe Security Vulnerabilities

CVE Date Vulnerability Products
CVE-2026-94113 Sep 20, 2026
Frappe ERPNext <15.121.0/16.34.0> timesheet info disclosure Frappe ERPNext versions before 15.121.0 and 16.x before 16.34.0 contain an information disclosure vulnerability in whitelisted timesheet endpoints that fail to enforce doctype permissions. Authenticated attackers can call get_projectwise_timesheet_data, get_timesheet_detail_rate, and get_timesheet endpoints to enumerate and retrieve billable time logs including project names, billing amounts, and work descriptions without proper authorization checks.
Erpnext
CVE-2026-54343 Sep 17, 2026
Frappe LMS <2.52.1 Path Traversal in SCORMRenderer.render Frappe Learning Management System (LMS) is a learning system that helps users structure their content. Prior to version 2.52.1, a remote attacker can request a traversal path handled by SCORMRenderer.render in lms/page_renderers.py. The renderer constructs and opens a server-side path without first confirming that its real path remains within public/scorm, allowing files outside the SCORM directory to be read when they are accessible to the server process. This issue is fixed in version 2.52.1.
Lms
CVE-2026-54524 Sep 17, 2026
SQL Injection in Frappe HR 16.6 and earlier's Salary Payments Report Frappe HR is an open-source human resources management solution (HRMS). Prior to 16.7.0, an authenticated user with the HR User role can inject SQL through filters in the Salary Payments Based on Payment Mode report. In hrms/payroll/report/salary_payments_based_on_payment_mode/salary_payments_based_on_payment_mode.py, get_conditions constructs filter clauses from user-controlled values and get_data incorporates those clauses into a string-formatted SQL query, allowing extraction of arbitrary database data. This issue is fixed in 16.7.0.
CVE-2023-51769 Sep 14, 2026
Frappe before 14.49.0 allows an XSS attack Frappe before 14.49.0 allows an XSS attack that is associated with blog pages and exception pages.
Frappe
CVE-2026-53761 Sep 04, 2026
Frappe CRM Auth Bypass via Logged Invitation Keys (pre-1.73.0) Frappe CRM is an open-source customer relationship management tool. Prior to version 1.73.0, there is an authentication bypass vulnerability via logged invitation keys in crm/api. This issue has been patched in version 1.73.0.
CVE-2026-82634 Aug 30, 2026
Frappe Framework RCE via Auth Bypass in Jinja Render Endpoint 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.
Frappe
CVE-2026-81731 Aug 27, 2026
XSS in Frappe 15.11.0-16.32.0 workspace card description Frappe 15.11.0 through 16.32.0 stores and renders the workspace card description without XSS filtering. The description field of the Workspace Link doctype is declared with "ignore_xss_filter": 1 in frappe/desk/doctype/workspace_link/workspace_link.json, and _sanitize_content() in frappe/model/base_document.py skips any field carrying that flag, so the value is stored exactly as submitted. frappe.desk.desktop.get_desktop_page returns it unchanged, and LinksWidget.set_body() in frappe/public/js/frappe/widgets/links_widget.js interpolates it into a Bootstrap popover created with html: true, by way of the __() translation helper, which performs no HTML escaping. A user holding the Workspace Manager role can therefore place arbitrary markup in a public workspace's card description and have it execute in the session of any desk user who opens that workspace and hovers the description, including higher-privileged users, allowing session token theft and authenticated requests as the victim. The flag is removed on the development branch but remains present in the shipped 15.x and 16.x release lines, so no released version carries the fix.
Frappe
CVE-2026-66003 Aug 26, 2026
Frappe <15.115.0: REST API Bypass via Linked DocTypes Frappe is a full-stack web application framework written in Python and JavaScript. Prior to version 15.115.0, an access control bypass in the REST API allows a user to read data from Linked DocTypes that they are not authorized to access. When a document references another document through a Link field, the framework does not consistently enforce the linked DocType's own permissions when the record is retrieved through the REST API, so a low-privileged authenticated user can obtain fields from linked records outside their permitted scope. This issue is fixed in version 15.115.0.
Frappe
CVE-2026-66002 Aug 20, 2026
Frappe <15.115.0 & <16.27.0: User Enum via PersonalDataDownloadResponse Frappe is a full-stack web application framework. Prior to 15.115.0 and 16.27.0, the public request-data web form and PersonalDataDownloadRequest class in frappe/website/doctype/personal_data_download_request/personal_data_download_request.py return distinguishable response shapes for registered and unregistered email addresses, including the user_name field and persistence behavior. A remote attacker can compare the responses to enumerate registered users. This issue is fixed in versions 15.115.0 and 16.27.0.
Frappe
CVE-2026-66001 Aug 20, 2026
OAuth2 Consent Flaw in Frappe (<15.114/16.26) Bad CSRF & Client Scope Frappe is a full-stack web application framework. Prior to 15.114.0 and 16.26.0, the approve and authorize functions in frappe/integrations/oauth2.py allow the OAuth2 consent flow to proceed without restricting approve to POST, without a csrf_token in frappe/templates/includes/oauth_confirmation.html, and without scoping an active OAuth token check to the requesting client. An attacker can cause an authenticated user to approve an OAuth grant or reuse authorization state for the wrong client, exposing data and permitting actions within the granted scopes. This issue is fixed in versions 15.114.0 and 16.26.0.
Frappe
CVE-2026-62315 Aug 20, 2026
Frappe <16.31.0: Mass-assign via client endpoint Frappe is a full-stack web application framework. In version 16.31.0 and earlier, frappe.client.set_value in frappe/client.py checks a dictionary supplied through the fieldname parameter against forbidden standard and child-table fields before parsing the dictionary into individual field names. An authenticated caller can exploit this type confusion to mass-assign protected fields through the client endpoint. No released fixed version is available as of this review.
Frappe
CVE-2026-63654 Aug 20, 2026
Frappe 16.31.0 bulk_workflow_approval endpoint allows nonPOST, enabling CSRF Frappe is a full-stack web application framework. In version 16.31.0 and earlier, the whitelisted frappe.model.workflow.bulk_workflow_approval endpoint in frappe/model/workflow.py accepts safe HTTP methods for state-changing workflow approvals because the endpoint is not restricted to POST. An attacker can induce an authenticated victim browser to submit an approval action with the victim privileges. No released fixed version is available as of this review.
Frappe
CVE-2026-53569 Aug 20, 2026
Frappe <=16.31.0: Missing Read Permission on Like/MarkasSeen Endpoints Frappe is a full-stack web application framework. In version 16.31.0 and earlier, the whitelisted toggle_like and mark_as_seen endpoints in frappe/desk/like.py and frappe/desk/doctype/note/note.py do not enforce read permission before modifying _liked_by metadata or a Note seen state. An authenticated user can interact with documents or notes that the user cannot read, disclosing resource existence and modifying resource-associated metadata. No released fixed version is available as of this review.
Frappe
CVE-2026-65822 Aug 17, 2026
ERPNext <15.116.0/16.23.0 SQL Injection via Unvalidated Doctype Filter ERPNext is a free and open source Enterprise Resource Planning tool. Prior to 15.116.0 and 16.23.0, erpnext/selling/report/inactive_customers/inactive_customers.py accepts an unvalidated doctype filter and interpolates it into raw SQL in get_sales_details and get_last_sales_amt, allowing an authenticated user to extract sensitive information and manipulate database queries. This issue is fixed in versions 15.116.0 and 16.23.0.
Erpnext
CVE-2026-65974 Aug 17, 2026
ERPNext 15.x/16.x RCE via frappe.render_template ERPNext is a free and open source Enterprise Resource Planning tool. Prior to 15.111.0 and 16.22.0, limited authenticated users can cross a permission boundary in Frappe safe execution because frappe.render_template is exposed without forcing restrict_globals, allowing server-side template injection and remote code execution. This issue is fixed in versions 15.111.0 and 16.22.0.
Erpnext
CVE-2026-72911 Aug 10, 2026
ERPNext <15.118.0/16.29.0: RCE via unrestricted template rendering ERPNext is a free and open source Enterprise Resource Planning tool. Prior to 15.118.0 and 16.29.0, the validate_template and render_template calls in erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.py render subject, body, and pdf_name fields with unrestricted globals including frappe.utils, allowing an authenticated user with a common operational role to inject template expressions, execute arbitrary server-side code, and read data across the application. This issue is fixed in versions 15.118.0 and 16.29.0.
Erpnext
CVE-2026-72910 Aug 10, 2026
ERPNext <15.112/16.22 Write-Perm Omission in Account Functions ERPNext is a free and open source Enterprise Resource Planning tool. Prior to 15.112.0 and 16.22.0, the merge_account, pause_job_for_doc, trigger_job_for_doc, change_release_date, and update_cost_center functions across erpnext/accounts/doctype/account/account.py, erpnext/accounts/doctype/process_payment_reconciliation/process_payment_reconciliation.py, erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py, and erpnext/accounts/utils.py omit required write permission checks, allowing authenticated limited users to modify protected data beyond their roles. This issue is fixed in versions 15.112.0 and 16.22.0.
Erpnext
CVE-2026-72909 Aug 10, 2026
ERPNext <=15.112.0/<=16.23.0: Authenticated Data Leakage ReceivablePayableReport ERPNext is a free and open source Enterprise Resource Planning tool. Prior to 15.112.0 and 16.23.0, the ReceivablePayableReport prepare_conditions path in erpnext/accounts/report/accounts_receivable/accounts_receivable.py does not apply Customer and Supplier user permissions to the Payment Ledger Entry dynamic-link party field, allowing any authenticated user to read unauthorized cross-company financial data in Accounts Receivable and Accounts Payable reports. This issue is fixed in versions 15.112.0 and 16.23.0.
Erpnext
CVE-2026-72908 Aug 10, 2026
ERPNext 15/16 SQLi in get_tax_template (v15.109/V16.20) ERPNext is a free and open source Enterprise Resource Planning tool. Prior to 15.109.0 and 16.20.0, the get_tax_template function in erpnext/accounts/doctype/tax_rule/tax_rule.py constructs an SQL WHERE clause from request-influenced posting_date and args values, allowing an authenticated low-privilege user to inject SQL and extract sensitive information. This issue is fixed in versions 15.109.0 and 16.20.0.
Erpnext
CVE-2026-72907 Aug 10, 2026
ERPNext 15/16 add_ac Permission Bypass via ignore_permissions ERPNext is a free and open source Enterprise Resource Planning tool. Prior to 15.111.0 and 16.22.0, the add_ac function in erpnext/accounts/utils.py accepts the ignore_permissions argument without enforcing Account create permission, allowing an authenticated limited user to create unauthorized accounting master records and affect financial data integrity and audit trails. This issue is fixed in versions 15.111.0 and 16.22.0.
Erpnext
CVE-2026-72906 Aug 10, 2026
ERPNext 15.111/16.22 process_statement_of_accounts perm bypass ERPNext is a free and open source Enterprise Resource Planning tool. Prior to 15.111.0 and 16.22.0, the send_auto_email function in erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.py lacks a Process Statement Of Accounts permission check, allowing an authenticated low-privilege user to trigger automated emails outside the permitted role. This issue is fixed in versions 15.111.0 and 16.22.0.
Erpnext
CVE-2026-66000 Aug 07, 2026
Document Follow Email Permission Bypass in Frappe <15.112/<16.23 Frappe is a full-stack web application framework. Prior to 16.23.0 and 15.112.0, Document Follow notification generation does not re-evaluate the recipient's current document permissions, allowing users whose access was revoked or reduced to continue receiving document data by email. This issue is fixed in versions 16.23.0 and 15.112.0.
Frappe
CVE-2025-58375 Aug 07, 2026
SQL Injection via insecure endpoint in Frappe <15.72.0 Frappe is a full-stack web application framework. Versions 14.96.9 and below, and 15.0.0 through 15.71.0 have an insecure endpoint parameter that is vulnerable to error-based SQL Injection through lack of validation. Sensitive information such as versioning can be retrieved. This issue is fixed in versions 14.96.10 and 15.72.0.
Frappe
CVE-2026-66058 Aug 07, 2026
Unrestricted Document Follow API Access in Frappe < 16.20.0 / < 15.112.0 Frappe is a full-stack web application framework. Prior to 16.20.0 and 15.112.0, unrestricted access to a Document Follow API (update_follow) is possible for an authenticated user. This issue is fixed in versions 16.20.0 and 15.112.0.
Frappe
CVE-2026-66059 Aug 07, 2026
Frappe: Field-level Permissions Bypass in DocType Fields (Before 16.20.0/15.112.0) Frappe is a full-stack web application framework. Prior to 16.20.0 and 15.112.0, a field-level permissions bypass exposes restricted DocType fields. This issue is fixed in versions 16.23.0 and 15.112.0.
Frappe
CVE-2026-49391 Aug 06, 2026
Authenticated Stored XSS in Frappe Data Import prior 16.19.0/15.109 Frappe is a full-stack web application framework. Prior to 16.19.0 and 15.109.0, Data Import does not escape imported column headers before rendering previews and results, allowing an authenticated importer to persist script content that executes when another user views the import interface. This issue is fixed in versions 16.19.0 and 15.109.0.
Frappe
CVE-2026-47765 Aug 06, 2026
Auth bypass on restore/bulk_restore in Frappe < v15.110 or < v16.20 Frappe is a full-stack web application framework. Prior to 15.110.0 and 16.20.0, the restore and bulk_restore endpoints do not apply the appropriate document permission checks, allowing an authenticated user to restore deleted documents without the required authorization. This issue is fixed in versions 15.110.0 and 16.20.0.
Frappe
CVE-2026-47194 Aug 06, 2026
Frappe: Host Header Manipulation in Magic Login (<15.108.0 & <16.18.3) Frappe is a full-stack web application framework. Prior to 15.108.0 and 16.18.3, temporary magic login link generation can use an attacker-controlled request Host header, allowing a remote attacker to cause emailed login links to point to an attacker-controlled domain and capture the login token when a recipient follows the link. This issue is fixed in versions 15.108.0 and 16.18.3.
Frappe
CVE-2026-47185 Aug 06, 2026
Frappe <16.18.0: User Can Edit Others' Workspace (Script Injection) Frappe is a full-stack web application framework. Prior to 16.18.0, the Workspace Save API accepts a controlled workspace identifier from any authenticated user without enforcing workspace ownership, allowing modification of another user's private workspace and persistent script injection. This issue is fixed in version 16.18.0.
Frappe
CVE-2026-13227 Aug 04, 2026
ERPNext Improper Authorization in Prospect.get_opportunities API <15.115 & <16.26 An Improper Authorization vulnerability exists in ERPNext version <v16.25.0 and <15.115.0 due to insufficient access control in the whitelisted API method erpnext.crm.doctype.prospect.prospect.get_opportunities. This issue affects ERPNext: before 15.115.0, before 16.26.0.
Erpnext
CVE-2026-12895 Jul 29, 2026
SQLi in ERPNext 15.107.0 via str.format() Auth Low Priv Exec SQL 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 Frappes access restrictions (DocPerm), extract confidential information from the databaseincluding fragments of the administrators password hashand access other sensitive data, such as credentials, integration tokens, or financial information.
Erpnext
CVE-2026-39385 Jul 20, 2026
Frappe LMS 2.51 & <2.51 Bypass Payment Validation via Unrelated Batch Frappe LMS is an open source learning management system. In version 2.51.0 and earlier, a user could bypass payment validation for courses by using unrelated batch. This has been patched in 2.52.0 with enrollment now validating that the batch is linked to course.
Lms
CVE-2026-55242 Jul 15, 2026
ERPNext SSTI via Config Field <15.111.0 and <16.22.0 ERPNext is a free and open source Enterprise Resource Planning tool. Prior to 15.111.0 and 16.22.0, an authenticated user with a standard operational role can trigger server-side template injection through a configuration field, resulting in unauthorized disclosure of data outside the user's normal permission scope. This issue is fixed in versions 15.111.0 and 16.22.0.
Erpnext
CVE-2026-55852 Jul 10, 2026
TarSlip RCE in Frappe <16.23.0 via Package Import Frappe is a full-stack web application framework. Prior to 16.23.0 and 15.112.0, TarSlip RCE was possible in Package Import because tarfile members were not sufficiently checked before extraction. This issue is fixed in versions 16.23.0 and 15.112.0.
Frappe
CVE-2026-42219 Jul 10, 2026
Frappe Path Traversal via download_backups pre-16.19.0 / 15.109.0 Frappe is a full-stack web application framework. Prior to 16.19.0 and 15.109.0, path traversal via download_backups was possible due to lack of hardening. This issue is fixed in versions 16.19.0 and 15.109.0.
Frappe
CVE-2026-49394 Jul 10, 2026
Frappe <16.19.0 Auth Bypass via update_page endpoint in Workspace Frappe is a full-stack web application framework. Prior to 16.19.0, authorization bypass was possible via the update_page endpoint in Workspace because public workspaces did not receive the required Workspace Manager edit check. This issue is fixed in version 16.19.0.
Frappe
CVE-2026-48127 Jul 10, 2026
Frappe Unauthorized File Attachments via API < 16.20.0/15.110.0 Frappe is a full-stack web application framework. Prior to 16.20.0 and 15.110.0, users without write access could attach files to any doctype through file-handling API endpoints such as add_attachments. This issue is fixed in versions 16.20.0 and 15.110.0.
Frappe
CVE-2026-41482 Jul 10, 2026
Frappe Path Traversal & LFI in Chrome PDF Gen (16.18.2) Frappe is a full-stack web application framework. Prior to 16.18.3, possible path traversal and local file inclusion were possible through secure local resource access in the Chrome PDF Generator. This issue is fixed in version 16.18.3.
Frappe
CVE-2026-47199 Jul 10, 2026
Frappe SQL Outfile vuln before 16.18.3/15.108.0 Frappe is a full-stack web application framework. Prior to 16.18.3 and 15.108.0, check_safe_sql_query permitted SELECT INTO OUTFILE queries, which could potentially work on self-hosted sites if database permissions are not well aligned and MySQL FILE privileges are available. This issue is fixed in versions 16.18.3 and 15.108.0.
Frappe
CVE-2026-58503 Jul 10, 2026
User Enumeration via reset_password in Frappe <16.16.0/15.106.0 Frappe is a full-stack web application framework. Prior to 16.16.0 and 15.106.0, user enumeration could be performed via the reset_password endpoint. This issue is fixed in versions 16.16.0 and 15.106.0.
Frappe
CVE-2026-47422 Jul 10, 2026
Frappe Reportview Permission Bypass before v15.107.5 / v16.18.2 Frappe is a full-stack web application framework. Prior to 15.107.5 and 16.18.2, an endpoint in reportview lacked appropriate permission checks and that has since been fixed. This vulnerability is fixed in 15.107.5 and 16.18.2.
Frappe
CVE-2026-50712 Jun 24, 2026
Frappe Framework 17.0.0-dev: XSS in frappe.ui.Tree Component A Stored Cross-Site Scripting (XSS) vulnerability exists in Frappe Framework version 17.0.0-dev due to improper neutralization of user-controlled input in the frappe.ui.Tree component
Frappe Framework
CVE-2026-50711 Jun 24, 2026
Stored XSS in Frappe Framework 17.0.0-dev Number Card A Stored Cross-Site Scripting (XSS) vulnerability exists in Frappe Framework version 17.0.0-dev due to improper neutralization of user-controlled input in the Number Card component.
Frappe Framework
CVE-2026-50710 Jun 24, 2026
Stored XSS in Frappe Framework 17.0.0-dev Number Card eval A Stored Cross-Site Scripting (XSS) vulnerability exists in Frappe Framework version 17.0.0-dev due to unsafe evaluation of user-controlled data in the Number Card component.
Frappe Framework
CVE-2026-50709 Jun 24, 2026
Stored XSS in Frappe Framework 17.0.0-dev Notifications Events Panel A Stored Cross-Site Scripting (XSS) vulnerability exists in Frappe Framework version 17.0.0-dev due to improper neutralization of user-controlled input in the Notifications > Events panel.
Frappe Framework
CVE-2026-50708 Jun 24, 2026
Stored XSS in MultiSelectDialog of Frappe Framework 17.0.0-dev A Stored Cross-Site Scripting (XSS) vulnerability exists in Frappe Framework version 17.0.0-dev due to improper neutralization of user-controlled input in the MultiSelectDialog component.
Frappe Framework
CVE-2026-50705 Jun 24, 2026
Frappe Framework 17.0.0-dev XSS via Form Dashboard headline renderer A Cross-Site Scripting (XSS) vulnerability exists in Frappe Framework version 17.0.0-dev due to improper neutralization of untrusted input in the Form Dashboard headline renderer.
Frappe Framework
CVE-2026-50704 Jun 24, 2026
Stored XSS in Frappe 17.0-dev Breadcrumb Renderer A Stored Cross-Site Scripting (XSS) vulnerability exists in Frappe Framework version 17.0.0-dev due to improper neutralization of user-controlled input in the File View breadcrumb renderer.
Frappe Framework
CVE-2026-50703 Jun 24, 2026
Stored XSS in Frappe Framework 17.0.0-dev Desk Icon Renderer A Stored Cross-Site Scripting (XSS) vulnerability exists in Frappe Framework version 17.0.0-dev due to improper neutralization of user-controlled input in the Desk desktop icon renderer.
Frappe Framework
CVE-2026-50701 Jun 24, 2026
R-XSS in Frappe Framework 17.0.0-dev via dashboard-view A Reflected Cross-Site Scripting (XSS) vulnerability exists in Frappe Framework version 17.0.0-dev due to improper neutralization of user-controlled input in the dashboard-view component.
Frappe Framework
Built by Foundeo Inc., with data from the National Vulnerability Database (NVD). Privacy Policy. Use of this site is governed by the Legal Terms
Disclaimer
CONTENT ON THIS WEBSITE IS PROVIDED ON AN "AS IS" BASIS AND DOES NOT IMPLY ANY KIND OF GUARANTEE OR WARRANTY, INCLUDING THE WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. YOUR USE OF THE INFORMATION ON THE DOCUMENT OR MATERIALS LINKED FROM THE DOCUMENT IS AT YOUR OWN RISK. Always check with your vendor for the most up to date, and accurate information.