【最新漏洞预警】CVE-2021-45897 全球最大CRM系统SuiteCRM远程命令执行漏洞分析与复现

渗透技巧 3年前 (2022) admin
1,286 0 0

关注公众号回复“漏洞”获取研究环境或工具

漏洞信息


SuiteCRM是全球排名第一的开源CRM系统,自最初发布以来已被下载超过 800,000 次。近日官网爆出SuiteCRM存在多个漏洞,其中一处远程命令执行漏洞编号为CVE-2021-45897,影响版本如下:


  • < 7.12.3

  • < 8.0.2


在CentOS上进行程序安装与数据库配置,完成研究环境搭建:


【最新漏洞预警】CVE-2021-45897 全球最大CRM系统SuiteCRM远程命令执行漏洞分析与复现


下面给大家简要分析一下漏洞触发原理并复现该漏洞。


漏洞分析



SuiteCRM软件支持用户定义邮件模板。补丁修复位于`modulesEmailTemplatesEmailTemplate.php`:


【最新漏洞预警】CVE-2021-45897 全球最大CRM系统SuiteCRM远程命令执行漏洞分析与复现


`repaireEntryPointImages`读取`html页面`中解析`<img src=`标签,提取文件后缀`fileExtension`和`id`,随后调用`makePublicImage`函数将`upload`目录文件写入到`public`,且没有对后缀名做检查。提取文件的URL格式为:


/index.php?entryPoint=download&type=Notes&id=UUID&filename=FILENAME


经过身份认证的用户可以通过`/index.php?entryPoint=download&type=Notes&id=<note-id>`链接Notes模块中的附件:


【最新漏洞预警】CVE-2021-45897 全球最大CRM系统SuiteCRM远程命令执行漏洞分析与复现


`repaireEntryPointImages`由`retrieve`函数调用,在用户保存和访问电子邮件模板时都会触发该功能:


【最新漏洞预警】CVE-2021-45897 全球最大CRM系统SuiteCRM远程命令执行漏洞分析与复现


SuiteCRM允许用户创建邮件模板,并支持添加附件,实际上以uuid的方式存储在本地文件系统:


【最新漏洞预警】CVE-2021-45897 全球最大CRM系统SuiteCRM远程命令执行漏洞分析与复现


同时用户可以将任意附件添加到邮件模板,但不能被php解析,但是利用`repaireEntryPointImages`函数,如果邮件正文中包含类似内容如下:


`#<img src='localhost/index.php?entryPoint=download&type=Notes&id=UUID&filename=poc.php#si


`Notes`模块下的附件就可以被复制写入到`public`目录。


总结漏洞利用过程如下:


  • 用户通过`Notes`上传webshell;

  • SuiteCRM系统`Notes`模块将webshell以UUID的方式存储在`upload`目录;

  • 验证能否通过`/index.php?entryPoint=download&type=Notes&id=<note_id>`下载附件;

  • 创建一个电子邮件模板,模板html源码中包含类似于`#<img src=’localhost/index.php?entryPoint=download&type=Notes&id=UUID&filename=poc.php#si`的匹配项;

  • 保存或者重新加载邮件模板,SuiteCRM执行`repaireEntryPointImages`将webshell复制到`public`目录;

  • 通过`http://***/public/UUID.php`执行命令。


漏洞复现


用户登录,进入`Notes`功能上传`Notes`附件,返回ID:


【最新漏洞预警】CVE-2021-45897 全球最大CRM系统SuiteCRM远程命令执行漏洞分析与复现


检查附件内容:


【最新漏洞预警】CVE-2021-45897 全球最大CRM系统SuiteCRM远程命令执行漏洞分析与复现


进入`Email-Templates`功能,新建邮件模板并篡改`body_html`参数:


【最新漏洞预警】CVE-2021-45897 全球最大CRM系统SuiteCRM远程命令执行漏洞分析与复现


保存后重新查看该模板,webshell被写入:


【最新漏洞预警】CVE-2021-45897 全球最大CRM系统SuiteCRM远程命令执行漏洞分析与复现



由于传播、利用此文档提供的信息而造成任何直接或间接的后果及损害,均由使用本人负责,且听安全团队及文章作者不为此承担任何责任。



点关注,不迷路!

【最新漏洞预警】CVE-2021-45897 全球最大CRM系统SuiteCRM远程命令执行漏洞分析与复现

关注公众号回复“漏洞”获取研究环境或工具

原文始发于微信公众号(且听安全):【最新漏洞预警】CVE-2021-45897 全球最大CRM系统SuiteCRM远程命令执行漏洞分析与复现

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...