Журнал изменений безопасности
Исправлено в ClickHouse v25.1.5.5, 2025-01-05
CVE-2025-1385
Когда включена функция library bridge, clickhouse-library-bridge поднимает HTTP API на localhost. Это позволяет 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 не затронут данной уязвимостью.
Благодарности: Arseniy Dugin
Исправлено в ClickHouse v24.5, 2024-08-01
CVE-2024-6873
Возможно перенаправить поток выполнения серверного процесса ClickHouse с неаутентифицированного вектора атаки, отправив специально сформированный запрос на нативный интерфейс сервера ClickHouse. Это перенаправление ограничено тем, что доступно в 256-байтовом диапазоне памяти в момент выполнения. Уязвимость была обнаружена через нашу программу bug bounty, известного публичного рабочего кода Proof of Concept для удалённого выполнения кода (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.
Благодарности: Evan Johnson и Alan Braithwaite из команды Runreveal — дополнительную информацию можно найти в их записи в блоге.
Исправлено в 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
Уязвимость целочисленного переполнения в меньшую сторону (integer underflow) в кодеке сжатия 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, мог вызвать сбой сервера ClickHouse, вставив некорректный объект CapnProto.
Исправление включено в версии 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-эндпоинт (по умолчанию прослушивает порт 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
Переполнение буфера кучи в кодеке сжатия LZ4 в ClickHouse при разборе вредоносного запроса. Отсутствует проверка того, что операции копирования в цикле LZ4::decompressImpl и особенно произвольная операция копирования wildCopy<copy_amount>(op, ip, copy_end) не выходят за пределы целевого буфера.
Благодарности: JFrog Security Research Team
CVE-2021-43305
Переполнение буфера кучи в кодеке сжатия LZ4 в ClickHouse при разборе вредоносного запроса. Отсутствует проверка того, что операции копирования в цикле LZ4::decompressImpl и особенно произвольная операция копирования wildCopy<copy_amount>(op, ip, copy_end) не выходят за пределы целевого буфера. Эта уязвимость очень похожа на CVE-2021-43304, но уязвимая операция копирования находится в другом вызове wildCopy.
Благодарности: JFrog Security Research Team
CVE-2021-42387
Чтение за пределами буфера кучи в кодеке сжатия LZ4 в ClickHouse при разборе вредоносного запроса. В рамках цикла LZ4::decompressImpl() из сжатых данных считывается 16-битное беззнаковое значение, задаваемое пользователем («offset»). Это смещение затем используется в длине операции копирования без проверки верхней границы источника операции копирования.
Благодарности: JFrog Security Research Team
CVE-2021-42388
Чтение за пределами буфера кучи в кодеке сжатия LZ4 в ClickHouse при разборе вредоносного запроса. В рамках цикла LZ4::decompressImpl() из сжатых данных считывается 16-битное беззнаковое значение, задаваемое пользователем («offset»). Это смещение затем используется в длине операции копирования без проверки нижней границы источника операции копирования.
Благодарности: JFrog Security Research Team
CVE-2021-42389
Деление на ноль в кодеке сжатия Delta в ClickHouse при разборе вредоносного запроса. Первый байт сжатого буфера используется в операции взятия по модулю без проверки на равенство 0.
Благодарности: JFrog Security Research Team
CVE-2021-42390
Деление на ноль в кодеке сжатия DeltaDouble в ClickHouse при разборе вредоносного запроса. Первый байт сжатого буфера используется в операции взятия по модулю без проверки на равенство 0.
Благодарности: JFrog Security Research Team
CVE-2021-42391
Деление на ноль в кодеке сжатия Gorilla в ClickHouse при разборе вредоносного запроса. Первый байт сжатого буфера используется в операции взятия по модулю без проверки на равенство 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 и более поздние.
Благодарности: Vyacheslav Egoshin
Исправлено в релизе ClickHouse 19.14.3.3, 2019-09-10
CVE-2019-15024
Злоумышленник, имеющий права записи в ZooKeeper и возможность запустить собственный сервер, доступный из сети, в которой работает ClickHouse, может создать специально подготовленный вредоносный сервер, который будет выступать в роли реплики ClickHouse и зарегистрировать его в ZooKeeper. Когда другая реплика будет забирать часть данных с этой вредоносной реплики, это может привести к тому, что clickhouse-server будет записывать данные по произвольному пути в файловой системе.
Благодарности: Eldar Zaitov из команды информационной безопасности Yandex
CVE-2019-16535
OOB read, OOB write и целочисленное переполнение (underflow) в алгоритмах декомпрессии могут быть использованы для осуществления RCE или DoS через нативный протокол.
Благодарности: Eldar Zaitov из команды информационной безопасности Yandex
CVE-2019-16536
Переполнение стека, приводящее к DoS, может быть спровоцировано вредоносным аутентифицированным клиентом.
Благодарности: Eldar Zaitov из команды информационной безопасности Yandex
Исправлено в релизе 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 допускали обход путей (path traversal) и чтение произвольных файлов через сообщения об ошибках.
Авторы: Андрей Красичков из команды информационной безопасности Яндекса (Yandex Information Security Team)
Исправлено в ClickHouse Release 18.10.3, 2018-08-13
CVE-2018-14671
unixODBC позволял загружать произвольные разделяемые библиотеки (shared objects) из файловой системы, что приводило к уязвимости удалённого выполнения кода (Remote Code Execution, RCE).
Благодарности: Андрей Красичков и Евгений Сидоров из команды информационной безопасности Яндекса
Исправлено в релизе ClickHouse 1.1.54388 от 2018-06-28
CVE-2018-14668
Табличная функция remote допускала произвольные символы в полях user, password и default_database, что приводило к атакам типа Cross-Protocol Request Forgery.
Благодарности: Андрей Красичков из команды информационной безопасности Яндекса
Исправлено в релизе ClickHouse 1.1.54390, 2018-07-06
CVE-2018-14669
MySQL-клиент ClickHouse поддерживал функцию "LOAD DATA LOCAL INFILE", которая позволяла злоумышленному серверу MySQL читать произвольные файлы на подключённом сервере ClickHouse.
Благодарности: Андрей Красичков и Евгений Сидоров, Команда информационной безопасности Яндекса
Исправлено в релизе ClickHouse 1.1.54131, 2017-01-10
CVE-2018-14670
Неправильная конфигурация в deb-пакете могла привести к несанкционированному использованию базы данных.
Благодарности: Национальный центр кибербезопасности Великобритании (NCSC)