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.
Advisories

No advisories yet.

Fixes

Solution

No solution given by the vendor.


Workaround

No workaround given by the vendor.

History

Wed, 24 Dec 2025 03:00:00 +0900

Type Values Removed Values Added
Weaknesses CWE-94
CPEs cpe:2.3:a:frappe:erpnext:*:*:*:*:*:*:*:*

Thu, 18 Dec 2025 02:15:00 +0900

Type Values Removed Values Added
Weaknesses CWE-918

Thu, 18 Dec 2025 01:30:00 +0900

Type Values Removed Values Added
Weaknesses CWE-1336

Wed, 17 Dec 2025 07:15:00 +0900

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 17 Dec 2025 04:30:00 +0900

Type Values Removed Values Added
Weaknesses CWE-918
Metrics cvssV3_1

{'score': 4.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N'}


Tue, 16 Dec 2025 06:45:00 +0900

Type Values Removed Values Added
First Time appeared Frappe
Frappe erpnext
Vendors & Products Frappe
Frappe erpnext

Tue, 16 Dec 2025 02:30:00 +0900

Type Values Removed Values Added
Description 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.
References

Projects

Sign in to view the affected projects.

cve-icon MITRE

Status: PUBLISHED

Assigner: mitre

Published:

Updated: 2025-12-17T15:50:21.748Z

Reserved: 2025-11-30T00:00:00.000Z

Link: CVE-2025-66436

cve-icon Vulnrichment

Updated: 2025-12-16T18:46:42.264Z

cve-icon NVD

Status : Analyzed

Published: 2025-12-15T18:15:48.170

Modified: 2025-12-23T17:54:23.497

Link: CVE-2025-66436

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2025-12-16T06:33:37Z

Weaknesses