VendorsFrappeerpnextany version
Vulnerabilities

Frappe ERPNext any version

Ranked by severity, then by exploit likelihood. Click a CVE ID for its full record.

26CVEs
CVE-2026-44442
ERPNext: Unauthorised Document modification due to missing validation
Published 2026-05-13 · Analyzed
9.9EPSS 0.004
CVE-2026-38431
ERPNext v15.103.1 and before is vulnerable to Server-Side Template Injection (SSTI). An attacker with permission to create or edit email templates can inject template expressions that are executed on the server when the template is rendered.
Published 2026-05-05 · Analyzed
9.8EPSS 0.006
CVE-2025-66438
A Server-Side Template Injection (SSTI) vulnerability exists in the Frappe ERPNext through 15.89.0 Print Format rendering mechanism. Specifically, the API frappe.www.printview.get_html_and_style() triggers the rendering of the html field inside a Print Format document using frappe.render_template(template, doc) via the get_rendered_template() call chain. Although ERPNext wraps Jinja2 in a SandboxedEnvironment, it exposes sensitive functions such as frappe.db.sql through get_safe_globals(). An authenticated attacker with permission to create or modify a Print Format can inject arbitrary Jinja expressions into the html field. Once the malicious Print Format is saved, the attacker can call get_html_and_style() with a target document (e.g., Supplier or Sales Invoice) to trigger the render process. This leads to information disclosure from the database, such as database version, schema details, or sensitive values, depending on the injected payload. Exploitation flow: Create a Print Format with SSTI payload in the html field; call the get_html_and_style() API; triggers frappe.render_template(template, doc) inside get_rendered_template(); leaks database information via frappe.db.sql or other exposed globals.
Published 2025-12-15 · Analyzed
9.8EPSS 0.005
CVE-2025-66439
An issue was discovered in Frappe ERPNext through 15.89.0. Function get_outstanding_reference_documents() at erpnext.accounts.doctype.payment_entry.payment_entry.py is vulnerable to SQL Injection. It allows an attacker to extract arbitrary data from the database by injecting SQL payloads via the from_posting_date parameter, which is directly interpolated into the query without proper sanitization or parameter binding.
Published 2025-12-15 · Analyzed
9.8EPSS 0.004
CVE-2025-66440
An issue was discovered in Frappe ERPNext through 15.89.0. Function get_outstanding_reference_documents() at erpnext/accounts/doctype/payment_entry/payment_entry.py is vulnerable to SQL Injection. It allows an attacker to extract arbitrary data from the database by injecting SQL payloads via the to_posting_date parameter, which is directly interpolated into the query without proper sanitization or parameter binding.
Published 2025-12-15 · Analyzed
9.8EPSS 0.004
CVE-2026-27471
ERP: Document access through endpoints due to missing validation
Published 2026-02-21 · Analyzed
9.3EPSS 0.004
CVE-2025-58439
ERP: Possibility of SQL injection due to missing validation
Published 2025-09-06 · Analyzed
9.1EPSS 0.003
CVE-2025-66437
An SSTI (Server-Side Template Injection) vulnerability exists in the get_address_display method of Frappe ERPNext through 15.89.0. This function renders address templates using frappe.render_template() with a context derived from the address_dict parameter, which can be either a dictionary or a string referencing an Address document. Although ERPNext uses a custom Jinja2 SandboxedEnvironment, dangerous functions like frappe.db.sql remain accessible via get_safe_globals(). An authenticated attacker with permission to create or modify an Address Template can inject arbitrary Jinja expressions into the template field. By creating an Address document with a matching country, and then calling the get_address_display API with address_dict="address_name", the system will render the malicious template using attacker-controlled data. This leads to server-side code execution or database information disclosure.
Published 2025-12-15 · Analyzed
8.8EPSS 0.006
CVE-2025-66434
An SSTI (Server-Side Template Injection) vulnerability exists in the get_dunning_letter_text method of Frappe ERPNext through 15.89.0. The function renders attacker-controlled Jinja2 templates (body_text) using frappe.render_template() with a user-supplied context (doc). Although Frappe uses a custom SandboxedEnvironment, several dangerous globals such as frappe.db.sql are still available in the execution context via get_safe_globals(). An authenticated attacker with access to configure Dunning Type and its child table Dunning Letter Text can inject arbitrary Jinja expressions, resulting in server-side code execution within a restricted but still unsafe context. This can leak database information.
Published 2025-12-15 · Analyzed
8.8EPSS 0.006
CVE-2026-44447
ERPNext: Possibility of SQL Injection due to missing validation
Published 2026-05-13 · Analyzed
8.8EPSS 0.005
CVE-2026-44446
ERPNext: Possibility of SQL Injection due to missing validation
Published 2026-05-13 · Analyzed
8.8EPSS 0.005
CVE-2018-20061
A SQL injection issue was discovered in ERPNext 10.x and 11.x through 11.0.3-beta.29. This attack is only available to a logged-in user; however, many ERPNext sites allow account creation via the web. No special privileges are needed to conduct the attack. By calling a JavaScript function that calls a server-side Python function with carefully chosen arguments, a SQL attack can be carried out which allows SQL queries to be constructed to return any columns from any tables in the database. This is related to /api/resource/Item?fields= URIs, frappe.get_list, and frappe.call.
Published 2018-12-11 · Modified
7.5EPSS 0.014
CVE-2026-32954
ERP has a possibility SQL Injection vulnerability due to missing validation
Published 2026-03-20 · Analyzed
7.5EPSS 0.004
CVE-2026-44440
ERPNext: Path Traversal Leading to Sensitive File Exposure
Published 2026-05-13 · Analyzed
6.5EPSS 0.006
CVE-2026-44445
ERPNext: XML External Entity (XEE) Reference Vulnerability in the EDI Module
Published 2026-05-13 · Analyzed
6.5EPSS 0.004
CVE-2026-44448
ERPNext: Unauthorised Document modification due to missing validation
Published 2026-05-13 · Analyzed
6.5EPSS 0.003
CVE-2026-38432
ERPNext v15.103.1 and before is vulnerable to Cross Site Scripting (XSS) in the Email Template engine. An attacker with permission to create or edit email templates can inject malicious JavaScript code that are executed on the victim's browser when the template is applied.
Published 2026-05-05 · Analyzed
6.1EPSS 0.003
CVE-2022-23055
ERPNext - Improper user access conrol
Published 2022-06-22 · Modified
5.5EPSS 0.012
CVE-2022-23057
ERPNext - Stored XSS in My Profile
Published 2022-06-22 · Modified
5.4EPSS 0.006
CVE-2025-65923
A Stored Cross-Site Scripting (XSS) vulnerability was discovered within the CSV import mechanism of ERPNext thru 15.88.1 when using the Update Existing Recordsoption. An attacker can embed malicious JavaScript code into a CSV field, which is then stored in the database and executed whenever the affected record is viewed by a user within the ERPNext web interface. This exposure may allow an attacker to compromise user sessions or perform unauthorized actions under the context of a victim's account.
Published 2026-02-03 · Analyzed
5.4EPSS 0.002
CVE-2026-44441
ERPNext: Possible SSRF by any authenticated user
Published 2026-05-13 · Analyzed
5.0EPSS 0.003
CVE-2025-66436
An SSTI (Server-Side Template Injection) vulnerability exists in the get_terms_and_conditions method of Frappe ERPNext through 15.89.0. The function renders attacker-controlled Jinja2 templates (terms) using frappe.render_template() with a user-supplied context (doc). Although Frappe uses a custom SandboxedEnvironment, several dangerous globals such as frappe.db.sql are still available in the execution context via get_safe_globals(). An authenticated attacker with access to create or modify a Terms and Conditions document can inject arbitrary Jinja expressions into the terms field, resulting in server-side code execution within a restricted but still unsafe context. This vulnerability can be used to leak database information.
Published 2025-12-15 · Analyzed
4.3EPSS 0.003
CVE-2025-66435
An SSTI (Server-Side Template Injection) vulnerability exists in the get_contract_template method of Frappe ERPNext through 15.89.0. The function renders attacker-controlled Jinja2 templates (contract_terms) using frappe.render_template() with a user-supplied context (doc). Although Frappe uses a custom SandboxedEnvironment, several dangerous globals such as frappe.db.sql are still available in the execution context via get_safe_globals(). An authenticated attacker with access to create or modify a Contract Template can inject arbitrary Jinja expressions into the contract_terms field, resulting in server-side code execution within a restricted but still unsafe context. This vulnerability can be used to leak database information.
Published 2025-12-15 · Analyzed
4.3EPSS 0.003
CVE-2025-65924
ERPNext thru 15.88.1 does not sanitize or remove certain HTML tags specifically `<a>` hyperlinks in fields that are intended for plain text. Although JavaScript is blocked (preventing XSS), the HTML is still preserved in the generated PDF document. As a result, an attacker can inject malicious clickable links into an ERP-generated PDF. Since PDF files generated by the ERP system are generally considered trustworthy, users are highly likely to click these links, potentially enabling phishing attacks or malware delivery. This issue occurs in the Add Quality Goal' function.
Published 2026-02-03 · Modified
4.1EPSS 0.002
CVE-2022-23058
ERPNext - Stored XSS in My Settings
Published 2022-06-22 · Modified
3.5EPSS 0.009
CVE-2022-23056
ERPNext - Stored XSS leads to account takover
Published 2022-06-22 · Modified
3.5EPSS 0.009