安全更新日志
已修复于 ClickHouse v25.1.5.5, 2025-01-05
CVE-2025-1385
当启用库桥接功能时,clickhouse-library-bridge 会在 localhost 上暴露一个 HTTP API。这允许 clickhouse-server 从指定路径动态加载库并在隔离的进程中执行它。结合 ClickHouse 表引擎功能,该功能允许将文件上传到特定目录,配置不当的服务器可能被具有访问表引擎权限的攻击者利用,从而允许他们在 ClickHouse 服务器上执行任意代码。
修复已推送到以下开源版本:v24.3.18.6, v24.8.14.27, v24.11.5.34, v24.12.5.65, v25.1.5.5
ClickHouse Cloud 不受此漏洞影响。
已修复于 ClickHouse v24.5, 2024-08-01
CVE-2024-6873
通过向 ClickHouse 服务器原生接口发送特制的请求,可以重定向 ClickHouse 服务器进程的执行流程。此重定向仅限于执行时 256 字节内存范围内的可用内容。此漏洞是通过我们的 Bugbounty 程序识别的,并且没有已知的概念验证远程代码执行 (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 端口上运行的 native 接口的堆缓冲区溢出漏洞。攻击者通过触发 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 端口上运行的 native 接口的堆缓冲区溢出漏洞。攻击者通过触发 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 请求到 HTTP Endpoint(默认在 8123 端口监听),导致基于堆的缓冲区溢出,从而使 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 Security Research Team
CVE-2021-43305
ClickHouse 的 LZ4 压缩编解码器在解析恶意查询时存在堆缓冲区溢出。没有验证 LZ4::decompressImpl 循环中的复制操作,特别是任意复制操作 wildCopy<copy_amount>(op, ip, copy_end),是否超过了目标缓冲区的限制。此问题与 CVE-2021-43304 非常相似,但易受攻击的复制操作位于不同的 wildCopy 调用中。
鸣谢:JFrog Security Research Team
CVE-2021-42387
ClickHouse 的 LZ4 压缩编解码器在解析恶意查询时存在堆越界读取。作为 LZ4::decompressImpl() 循环的一部分,从压缩数据中读取一个 16 位无符号用户提供的数值('offset')。稍后,该偏移量用于复制操作的长度,而没有检查复制操作源的上限。
鸣谢:JFrog Security Research Team
CVE-2021-42388
ClickHouse 的 LZ4 压缩编解码器在解析恶意查询时存在堆越界读取。作为 LZ4::decompressImpl() 循环的一部分,从压缩数据中读取一个 16 位无符号用户提供的数值('offset')。稍后,该偏移量用于复制操作的长度,而没有检查复制操作源的下限。
鸣谢:JFrog Security Research Team
CVE-2021-42389
ClickHouse 的 Delta 压缩编解码器在解析恶意查询时存在除零错误。压缩缓冲区的第一个字节用于模运算,而没有检查是否为 0。
鸣谢:JFrog Security Research Team
CVE-2021-42390
ClickHouse 的 DeltaDouble 压缩编解码器在解析恶意查询时存在除零错误。压缩缓冲区的第一个字节用于模运算,而没有检查是否为 0。
鸣谢:JFrog Security Research Team
CVE-2021-42391
ClickHouse 的 Gorilla 压缩编解码器在解析恶意查询时存在除零错误。压缩缓冲区的第一个字节用于模运算,而没有检查是否为 0。
鸣谢:JFrog Security Research Team
已修复于 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 及更高版本。
已修复于 ClickHouse Release 19.14.3.3, 2019-09-10
CVE-2019-15024
具有 ZooKeeper 写入权限并且可以运行从 ClickHouse 运行网络可访问的自定义服务器的攻击者,可以创建一个定制的恶意服务器,该服务器将充当 ClickHouse 副本并在 ZooKeeper 中注册。当另一个副本从恶意副本获取数据部分时,它可以强制 clickhouse-server 写入文件系统上的任意路径。
鸣谢:Yandex 信息安全团队的 Eldar Zaitov
CVE-2019-16535
在解压缩算法中存在 OOB 读取、OOB 写入和整数下溢,可用于通过 native 协议实现 RCE 或 DoS。
鸣谢:Yandex 信息安全团队的 Eldar Zaitov
CVE-2019-16536
堆栈溢出导致 DoS 可以由恶意身份验证客户端触发。
鸣谢:Yandex 信息安全团队的 Eldar Zaitov
已修复于 ClickHouse Release 19.13.6.1, 2019-09-20
CVE-2019-18657
表函数url存在漏洞,允许攻击者在请求中注入任意HTTP头部。
已在 ClickHouse Release 18.12.13, 2018-09-10 中修复
CVE-2018-14672
用于加载 CatBoost 模型的函数允许路径遍历,并通过错误消息读取任意文件。
鸣谢:Yandex 信息安全团队的 Andrey Krasichkov
已在 ClickHouse Release 18.10.3, 2018-08-13 中修复
CVE-2018-14671
unixODBC 允许从文件系统加载任意共享对象,导致远程代码执行漏洞。
鸣谢:Yandex 信息安全团队的 Andrey Krasichkov 和 Evgeny Sidorov
已在 ClickHouse Release 1.1.54388, 2018-06-28 中修复
CVE-2018-14668
"remote" 表函数允许在 "user"、"password" 和 "default_database" 字段中使用任意符号,导致跨协议请求伪造攻击。
鸣谢:Yandex 信息安全团队的 Andrey Krasichkov
已在 ClickHouse Release 1.1.54390, 2018-07-06 中修复
CVE-2018-14669
ClickHouse MySQL 客户端启用了 "LOAD DATA LOCAL INFILE" 功能,允许恶意的 MySQL 数据库读取连接的 ClickHouse 服务器上的任意文件。
鸣谢:Yandex 信息安全团队的 Andrey Krasichkov 和 Evgeny Sidorov
已在 ClickHouse Release 1.1.54131, 2017-01-10 中修复
CVE-2018-14670
deb 包中的不正确配置可能导致数据库被未经授权使用。
鸣谢:英国国家网络安全中心 (NCSC)