CVE-2025-23211:Tandoor Recipes Jinja2 SSTI到远程代码执行
CVE概述
2025年1月,开源食谱规划和管理应用Tandoor Recipes披露了一个严重的服务器端模板注入(SSTI)漏洞。该漏洞存在于1.5.24之前的版本,源于Jinja2模板中用户输入处理不当。此漏洞允许认证用户在服务器上执行任意系统命令。当使用提供的Docker Compose设置部署时,这些命令可以以root权限运行,导致系统完全被控制。
- CVE ID: CVE-2025-23211
- 严重性: 严重
- CVSS评分: 9.9 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H)
- EPSS评分: 0.05%
- 发布日期: 2025年1月28日
- 受影响版本: <= 1.5.23
- 修复版本: 1.5.24
漏洞分析
漏洞源于未经过滤的用户输入直接嵌入到Jinja2模板中。具体来说,食谱说明中的用户提供内容在没有适当验证的情况下被渲染,允许攻击者注入恶意的Jinja2表达式。这可能导致在服务器上执行任意代码。
在默认的Docker Compose部署中,应用程序以root权限运行。在此类环境中利用此漏洞,攻击者可以获得对主机系统的root级别访问权限。
利用方式
攻击者可以使用Jinja2语法制作恶意负载,并将其插入到食谱说明中。例如:
|
|
当查看此食谱时,服务器执行whoami命令,显示结果。在Docker Compose设置中,这将返回root,确认命令以提升的权限执行。
影响
成功利用允许攻击者:
- 在服务器上执行任意系统命令
- 在Docker Compose部署中获得root访问权限
- 破坏敏感数据和系统完整性
- 可能转向网络内的其他系统
检测
- 版本检查:验证安装的Tandoor Recipes版本。版本<=1.5.23易受攻击。
- 日志分析:检查应用程序日志中的异常模板渲染错误或意外命令输出。
- 文件监控:监控系统文件的未经授权更改或意外进程的存在。
- 用户活动:审查用户行为中的可疑活动,特别是创建或修改包含异常内容的食谱的用户。
缓解措施
- 立即行动:升级到Tandoor Recipes版本1.5.24或更高版本,其中包含必要的补丁。
- 输入验证:实施严格的输入验证和清理,以防止恶意内容的注入。
- 最小权限:避免以root权限运行应用程序。配置Docker容器以非root用户运行。
- 安全监控:设置入侵检测系统以监控异常活动。