CVE-2026-38431ERPNext v15.103.1及更早版本存在严重的服务端模板注入(SSTI)漏洞。该漏洞允许具有创建或编辑电子邮件模板权限的攻击者,在模板中注入恶意的模板表达式。当服务器渲染这些受污染的模板时,注入的代码将被执行。由于CVSS评分高达9.8,且涉及机密性、完整性和可用性的全面影响,该漏洞极具破坏性。攻击者可利用此漏洞在服务器端执行任意代码,进而完全控制受影响的系统,窃取敏感数据或破坏业务流程,需引起高度重视。
该漏洞源于ERPNext使用的Frappe框架中的电子邮件模板引擎未能安全处理用户输入。在Frappe/Jinja2模板引擎中,特定的语法(如`{{ }}`)用于变量替换和逻辑控制。攻击者利用具有编辑权限的账户,在邮件模板字段中插入恶意构造的Payload。当系统触发邮件发送或预览功能时,后端会解析并渲染该模板。此时,恶意表达式被传递给模板解释器执行。例如,攻击者可以利用Python对象继承链(如`{{ ''.__class__.__mro__[1].__subclasses__() }}`)来访问危险类(如`os.system`或`subprocess`),从而实现远程命令执行(RCE)。尽管CVSS向量标注为无需认证,但实际利用通常需要具备模板编辑权限。