Apache Calcite Avatica 远程代码执行(CVE-2022-36364)

前段时间看到Apache Calcite Avatica远程代码执行漏洞 CVE-2022-36364 在网上搜索也没有找到相关的分析和复现文章,于是想着自己研究一下,看能不能发现可以利用的方法。

首先利用一下最近比较热门的 Deepseek ,询问他是否清楚漏洞相关的信息。

image

image

通过回答我们可以了解到这个漏洞的概况,具体漏洞的版本,以及漏洞产生的原因。

漏洞简介

Apache Calcite Avatica JDBC 驱动程序根据通过 httpclient_impl​ 连接属性提供的类名来创建 HTTP 客户端实例;但是在驱动程序实例化之前不会验证该类是否实现了预期的接口,这样一来就会导致可以通过调用任意类来执行代码。

执行这个漏洞并造成一定的危害性,还需要两个先决条件:

  • 必须拥有控制 JDBC 连接参数的权限
  • 类路径中有一个具有 URL 参数和执行代码能力的函数(目前需要自己构造)

漏洞复现&分析

简单点,通过 maven 来创建漏洞环境

        <!-- https://mvnrepository.com/artifact/org.apache.calcite.avatica/avatica -->
        <dependency>
            <groupId>org.apache.calcite.avatica</groupId>
            <artifactId>avatica</artifactId>
            <version>1.21.0</version>
        </dependency>

创建完成漏洞环境后,我们就需要来编写一段代码想办法触发这个漏洞,我个人的建议是通过对比代码补丁,一般来说修复完成代码后,总会写一个测试类来进行测试

image

import org.apache
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值