from_string
接受未转义的参数,因此攻击者可以将代码注入模板。
应该逃避任何过去。
https://github.com/JameelNabbo/Jinja2-Code-execution
https://www.exploit-db.com/exploits/46386
创建该 repo 和 CVE 的用户不知道他们在说什么,不幸的是现在我们将不得不继续解决它,因为他们不负责任地以官方的方式通知了一群人关于一个非问题. 请参阅https://github.com/JameelNabbo/Jinja2-Code-execution/issues/1以获取对他们的回应。 我已向 MITRE 发送请求,要求使 CVE 失效。
说 Jina 因为from_string
存在而存在漏洞就像说每个动态语言都存在漏洞是因为eval
存在,或者每个 SQL 库都存在漏洞,因为它们评估 SQL 字符串。 问题不在于那些库,它们都提供了处理用户输入的适当工具。 SQL 库没有注入漏洞,使用 SQL 库的项目不正确。
如果您仍然想冒险编译不受信任的模板,则应使用SandboxedEnvironment
,而在呈现不受信任的变量时应使用autoescape
。
最有用的评论
创建该 repo 和 CVE 的用户不知道他们在说什么,不幸的是现在我们将不得不继续解决它,因为他们不负责任地以官方的方式通知了一群人关于一个非问题. 请参阅https://github.com/JameelNabbo/Jinja2-Code-execution/issues/1以获取对他们的回应。 我已向 MITRE 发送请求,要求使 CVE 失效。
说 Jina 因为
from_string
存在而存在漏洞就像说每个动态语言都存在漏洞是因为eval
存在,或者每个 SQL 库都存在漏洞,因为它们评估 SQL 字符串。 问题不在于那些库,它们都提供了处理用户输入的适当工具。 SQL 库没有注入漏洞,使用 SQL 库的项目不正确。如果您仍然想冒险编译不受信任的模板,则应使用
SandboxedEnvironment
,而在呈现不受信任的变量时应使用autoescape
。