Adobe Coldfusion任意文件读取和任意文件包含漏洞

Adobe Coldfusion组件介绍

Adobe ColdFusion,是一个动态Web服务器,其CFML(ColdFusion Markup Language)是一种程序设计语言,类似现在的JSP里的JSTL(JSP Standard Tag Lib),从1995年开始开发,其设计思想被一些人认为非常先进,被一些语言所借鉴。

Coldfusion 最早是由 Allaire 公司开发的一种应用服务器平台,其运行的 CFML(ColdFusion Markup Language)针对Web应用的一种脚本语言。文件以*.cfm为文件名,在ColdFusion专用的应用服务器环境下运行。在 Allaire 公司被 Macromedia 公司收购以后,推出了 Macromedia ColdFusion 5.0,类似于其他的应用程序语言,cfm文件被编译器翻译为对应的 c++ 语言程序,然后运行并向浏览器返回结果。虽然 .cfc 和 custom tag 具有类似的重用性,但 cfc 提供了更加灵活的调用方式,例如 webservice 方式的调用支持。

Macromedia已经被Adobe并购,所以ColdFusion亦成为Adobe旗下产品。

漏洞描述

2020年3月18日,Adobe官方发布针对Adobe Coldfusion的安全更新补丁,编号为APSB20-16。补丁中包含Adobe ColdFusion 任意文件读取和任意文件包含漏洞,CVE编号分别为CVE-2020-3761,CVE-2020-3794。

由于AJP协议设计存在缺陷导致内部相关的属性可控,攻击者可以构造属性值,实现漏洞的利用,成功利用这些漏洞可导致获得敏感文件信息,甚至可以进行远程代码执行漏洞的利用。

漏洞分析

此漏洞与之前爆出的Tomcat文件包含漏洞CVE-2020-1938的利用方式相同,利用ajp协议设计缺陷,攻击者可以构造内部属性值,通过控制

javax.servlet.include.request_uri

javax.servlet.include.path_info

javax.servlet.include.servlet_path

三个属性值,实现漏洞的利用。

Adobe Coldfusion 2018作为漏洞分析的环境,分析Adobe Coldfusion处理ajp协议数据的代码(runtime路径下导入的tomcat-coyote.jar依赖包),org.apache.coyote.ajp.AjpProcessor类代码如下:

图片1.png 

可以判断漏洞利用流程与CVE-2020-1938基本一致。

 

漏洞复现

搭建Adobe Coldfusion 2018漏洞环境,通过AJP协议向Adobe Coldfusion服务器发送构造好的数据,成功获取到了Adobe Coldfusion路径下的敏感文件信息。的效果如下:

图片2.png 

 影响范围

目前受影响的Adobe Coldfusion版本:

    ColdFusion 2016 Update13及之前版本

    ColdFusion 2018 Update7及之前版本

修复建议

官方已经针对此漏洞发布APSB20-16补丁,请受影响的用户参考以下链接安装补丁更新:
      https://helpx.adobe.com/security/products/coldfusion/apsb20-16.html

 

时间轴

2020/3/18  Adobe官方发布针对Adobe Coldfusion的安全更新补丁,编号为APSB20-16。     

2020/3/20  深信服千里目安全实验室成功复现此漏洞并发布漏洞分析文章。

 

 


本文作者:深信服千里目安全实验室

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/126173.html

Tags:
评论  (0)
快来写下你的想法吧!

深信服千里目安全实验室

文章数:185 积分: 1410

安全问答社区

安全问答社区

脉搏官方公众号

脉搏公众号