CVE-2026-28797RAGFlow是一款开源RAG引擎。在0.24.0及更早版本中,其Agent工作流的文本处理和消息组件存在SSTI漏洞。由于使用了未沙箱化的jinja2.Template渲染用户提供的模板,任何经过身份验证的用户均可利用该漏洞在服务器端执行任意操作系统命令。
该漏洞的根本原因在于RAGFlow在处理Agent工作流中的Text Processing(字符串转换)和Message组件时,直接调用了Python的`jinja2.Template`引擎进行渲染,且未对运行环境进行沙箱隔离。攻击者仅需低权限账户,即可在这些组件的输入框中注入恶意的Jinja2模板语法。利用Jinja2模板引擎的继承机制,攻击者可以访问Python的内置对象和全局变量(如`__globals__`)。通过构造特定的对象链(例如访问`config`对象的类继承链),攻击者能够回溯至`os`或`subprocess`等危险模块,从而在服务器端执行任意操作系统命令。由于服务端以高权限运行,这种SSTI漏洞不仅允许读取敏感文件,还可能导致服务器被完全接管,造成极高的安全风险。