Apache APISIX远程代码执行漏洞分析

0x1 漏洞背景

APISIX 是一个云原生、高性能、可扩展的微服务 API 开源网关,基于OpenResty(Nginx+Lua)和etcd来实现,对比传统的API网关,具有动态路由和热插件加载的特点。

该漏洞存在于 APISIX batch-requests 插件,启用该插件将会导致该漏洞的发生。攻击者可以滥用batch-requests插件发送特制请求,并借此来绕过Admin API的IP限制,最终可能导致rce的产生。

0x2 版本信息

CVE号:

CVE-2022-24112

影响版本:

Apache APISIX < 2.12.1
Apache APISIX < 2.10.4 (LTS versions)

0x3 漏洞分析

查看apisix 2.12.1的commit修复记录:

https://github.com/apache/apisix/pull/6254/commits/d4f0d6ac065e9282b2deca08073bceb62aa13b4a

发现官方的修复方法只是关闭了 batch-requests插件的默认开启。

查看batch-requests插件的文档可知,该插件主要用于http pipeline的方式批量进行多个接口请求。

apisix/batch-requests.md at ec0fc2ceaf04a20b0bd0ebdaad67296a1d3f621c · apache/apisix · GitHub

根据官方漏洞描述,我们可以将pipeline里的path修改为apisix的管理API,以此来绕过管理API对IP的限制,请求敏感API来进行RCE。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值