跳至主要内容

安全变更日志

ClickHouse v24.5 中已修复,2024-08-01

CVE-2024-6873

通过向 ClickHouse 服务器原生接口发送精心构造的请求,可以从未经身份验证的向量重定向 ClickHouse 服务器进程的执行流程。此重定向仅限于执行时内存中 256 字节范围内的可用内容。此漏洞是通过我们的漏洞赏金计划发现的,目前还没有已知的远程代码执行 (RCE) 代码被制作或利用。

已将修复程序推送到以下开源版本:v23.8.15.35-lts、v24.3.4.147-lts、v24.4.2.141-stable、v24.5.1.1763、v24.6.1.4423-stable

ClickHouse Cloud 使用不同的版本控制,并且已将此漏洞的修复程序应用于所有运行 v24.2 及更高版本的实例。

致谢:malacupa(独立研究人员)

ClickHouse v24.1 中已修复,2024-01-30

CVE-2024-22412

在使用启用查询缓存的 ClickHouse 切换用户角色时,存在获取不准确数据的风险。ClickHouse 建议使用 ClickHouse 漏洞版本的用戶,在应用程序动态切换不同角色时不要使用查询缓存。

已将修复程序推送到以下开源版本:v24.1.1.2048、v24.1.8.22-stable、v23.12.6.19-stable、v23.8.12.13-lts、v23.3.22.3-lts

ClickHouse Cloud 使用不同的版本控制,并且已将此漏洞的修复程序应用于 v24.0.2.54535。

致谢:来自 Runreveal 团队的 Evan Johnson 和 Alan Braithwaite - 可以在他们的博客文章中找到更多信息。

ClickHouse v23.10.5.20 中已修复,2023-11-26

CVE-2023-47118

影响默认情况下在端口 9000/tcp 上运行的原生接口的堆缓冲区溢出漏洞。攻击者通过触发 T64 压缩编解码器中的错误,可以导致 ClickHouse 服务器进程崩溃。此漏洞可以在无需身份验证的情况下利用。

已将修复程序推送到以下开源版本:v23.10.2.13、v23.9.4.11、v23.8.6.16、v23.3.16.7

ClickHouse Cloud 使用不同的版本控制,并且已将此漏洞的修复程序应用于 v23.9.2.47475。

致谢:malacupa(独立研究人员)

CVE-2023-48298

FPC 压缩编解码器中的整数下溢漏洞。攻击者可以使用它导致 ClickHouse 服务器进程崩溃。此漏洞可以在无需身份验证的情况下利用。

已将修复程序推送到以下开源版本:v23.10.4.25、v23.9.5.29、v23.8.7.24、v23.3.17.13。

ClickHouse Cloud 使用不同的版本控制,并且已将此漏洞的修复程序应用于 v23.9.2.47475。

致谢:malacupa(独立研究人员)

CVE-2023-48704

影响默认情况下在端口 9000/tcp 上运行的原生接口的堆缓冲区溢出漏洞。攻击者通过触发 Gorilla 编解码器中的错误,可以导致 ClickHouse 服务器进程崩溃。此漏洞可以在无需身份验证的情况下利用。

已将修复程序推送到以下开源版本:v23.10.5.20、v23.9.6.20、v23.8.8.20、v23.3.18.15。

ClickHouse Cloud 使用不同的版本控制,并且已将此漏洞的修复程序应用于 v23.9.2.47551。

致谢:malacupa(独立研究人员)

ClickHouse 22.9.1.2603 中已修复,2022-09-22

CVE-2022-44011

在 ClickHouse 服务器中发现了一个堆缓冲区溢出问题。具有向 ClickHouse 服务器加载数据的权限的恶意用户可以通过插入格式错误的 CapnProto 对象使 ClickHouse 服务器崩溃。

已将修复程序推送到版本 22.9.1.2603、22.8.2.11、22.7.4.16、22.6.6.16、22.3.12.19

致谢:Kiojj(独立研究人员)

CVE-2022-44010

在 ClickHouse 服务器中发现了一个堆缓冲区溢出问题。攻击者可以向 HTTP 端点(默认情况下监听端口 8123)发送精心构造的 HTTP 请求,从而导致基于堆的缓冲区溢出,从而使 ClickHouse 服务器进程崩溃。此攻击不需要身份验证。

已将修复程序推送到版本 22.9.1.2603、22.8.2.11、22.7.4.16、22.6.6.16、22.3.12.19

致谢:Kiojj(独立研究人员)

ClickHouse 21.10.2.15 中已修复,2021-10-18

CVE-2021-43304

ClickHouse 的 LZ4 压缩编解码器在解析恶意查询时出现堆缓冲区溢出。没有验证 LZ4::decompressImpl 循环中的复制操作,尤其是任意复制操作 wildCopy<copy_amount>(op, ip, copy_end),是否超出了目标缓冲区的限制。

致谢:JFrog 安全研究团队

CVE-2021-43305

ClickHouse 的 LZ4 压缩编解码器在解析恶意查询时出现堆缓冲区溢出。没有验证 LZ4::decompressImpl 循环中的复制操作,尤其是任意复制操作 wildCopy<copy_amount>(op, ip, copy_end),是否超出了目标缓冲区的限制。此问题与 CVE-2021-43304 非常相似,但脆弱的复制操作是在不同的 wildCopy 调用中。

致谢:JFrog 安全研究团队

CVE-2021-42387

ClickHouse 的 LZ4 压缩编解码器在解析恶意查询时出现堆越界读取。作为 LZ4::decompressImpl() 循环的一部分,从压缩数据中读取 16 位无符号用户提供的值('offset')。偏移量随后用于复制操作的长度,而没有检查复制操作源的边界。

致谢:JFrog 安全研究团队

CVE-2021-42388

ClickHouse 的 LZ4 压缩编解码器在解析恶意查询时出现堆越界读取。作为 LZ4::decompressImpl() 循环的一部分,从压缩数据中读取 16 位无符号用户提供的值('offset')。偏移量随后用于复制操作的长度,而没有检查复制操作源的边界。

致谢:JFrog 安全研究团队

CVE-2021-42389

ClickHouse 的 Delta 压缩编解码器在解析恶意查询时出现除零错误。压缩缓冲区的第一个字节用于模运算,而没有检查是否为 0。

致谢:JFrog 安全研究团队

CVE-2021-42390

ClickHouse 的 DeltaDouble 压缩编解码器在解析恶意查询时出现除零错误。压缩缓冲区的第一个字节用于模运算,而没有检查是否为 0。

致谢:JFrog 安全研究团队

CVE-2021-42391

ClickHouse 的 Gorilla 压缩编解码器在解析恶意查询时出现除零错误。压缩缓冲区的第一个字节用于模运算,而没有检查是否为 0。

致谢:JFrog 安全研究团队

ClickHouse 21.4.3.21 中已修复,2021-04-12

CVE-2021-25263

具有 CREATE DICTIONARY 权限的攻击者可以读取允许目录之外的任意文件。

已将修复程序推送到版本 20.8.18.32-lts、21.1.9.41-stable、21.2.9.41-stable、21.3.6.55-lts、21.4.3.21-stable 及更高版本。

致谢:Vyacheslav Egoshin

在 ClickHouse 19.14.3.3 版本中修复,2019-09-10

CVE-2019-15024

攻击者如果拥有 ZooKeeper 的写入权限,并且能够在 ClickHouse 运行的网络中运行自定义服务器,就可以创建自定义构建的恶意服务器,将其作为 ClickHouse 副本注册到 ZooKeeper。当另一个副本从恶意副本中获取数据部分时,攻击者可以强制 clickhouse-server 将数据写入文件系统的任意路径。

贡献者:Yandex 信息安全团队的 Eldar Zaitov

CVE-2019-16535

解压缩算法中的 OOB 读取、OOB 写入和整数下溢可以用于通过本机协议实现 RCE 或 DoS。

贡献者:Yandex 信息安全团队的 Eldar Zaitov

CVE-2019-16536

恶意身份验证的客户端可以触发堆栈溢出,导致 DoS。

贡献者:Yandex 信息安全团队的 Eldar Zaitov

在 ClickHouse 19.13.6.1 版本中修复,2019-09-20

CVE-2019-18657

表函数 url 存在漏洞,允许攻击者在请求中注入任意 HTTP 头。

贡献者:Nikita Tikhomirov

在 ClickHouse 18.12.13 版本中修复,2018-09-10

CVE-2018-14672

用于加载 CatBoost 模型的函数允许通过错误消息进行路径遍历并读取任意文件。

贡献者:Yandex 信息安全团队的 Andrey Krasichkov

在 ClickHouse 18.10.3 版本中修复,2018-08-13

CVE-2018-14671

unixODBC 允许从文件系统加载任意共享对象,从而导致远程代码执行漏洞。

贡献者:Yandex 信息安全团队的 Andrey Krasichkov 和 Evgeny Sidorov

在 ClickHouse 1.1.54388 版本中修复,2018-06-28

CVE-2018-14668

“remote” 表函数允许在“user”、“password”和“default_database”字段中使用任意符号,这会导致跨协议请求伪造攻击。

贡献者:Yandex 信息安全团队的 Andrey Krasichkov

在 ClickHouse 1.1.54390 版本中修复,2018-07-06

CVE-2018-14669

ClickHouse MySQL 客户端启用了“LOAD DATA LOCAL INFILE”功能,允许恶意 MySQL 数据库从连接的 ClickHouse 服务器读取任意文件。

贡献者:Yandex 信息安全团队的 Andrey Krasichkov 和 Evgeny Sidorov

在 ClickHouse 1.1.54131 版本中修复,2017-01-10

CVE-2018-14670

deb 包中的错误配置可能导致未经授权的使用数据库。

贡献者:英国国家网络安全中心 (NCSC)