An SSTI (Server-Side Template Injection) vulnerability...
Moderate severity
Unreviewed
Published
Dec 15, 2025
to the GitHub Advisory Database
•
Updated Dec 23, 2025
Description
Published by the National Vulnerability Database
Dec 15, 2025
Published to the GitHub Advisory Database
Dec 15, 2025
Last updated
Dec 23, 2025
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