أُصلح في ClickHouse v25.1.5.5، 2025-01-05
عند تمكين ميزة library bridge، يوفّر clickhouse-library-bridge واجهة برمجة تطبيقات HTTP على localhost. ويتيح ذلك لـ clickhouse-server تحميل مكتبة ديناميكيًا من مسار محدد وتشغيلها ضمن عملية معزولة. وعند اقتران ذلك بوظيفة table engine في ClickHouse التي تسمح برفع الملفات إلى أدلة محددة، يمكن لمهاجم لديه الامتيازات اللازمة للوصول إلى كلا table engines استغلال server مُعدًّا على نحو غير صحيح، مما يتيح له تنفيذ تعليمات برمجية عشوائية على خادم 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
يمكن إعادة توجيه تدفق تنفيذ عملية خادم 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 وما بعده.
Credits: malacupa (باحث مستقل)
أُصلِح في ClickHouse v24.1، 2024-01-30
عند التبديل بين أدوار المستخدمين أثناء استخدام 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
ثغرة تجاوز سعة المخزن المؤقت في الكومة تؤثر في الواجهة الأصلية التي تعمل افتراضيًا على المنفذ 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 (باحث مستقل)
ثغرة نقص عددي في codec الضغط 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 (باحث مستقل)
ثغرة تجاوز سعة مخزن مؤقت على الكومة تؤثر في الواجهة الأصلية التي تعمل افتراضيًا على المنفذ 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
اكتُشفت في خادم 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 (باحث مستقل)
اكتُشفت مشكلة تجاوز سعة مخزن مؤقت في الكومة في خادم 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
Credits: Kiojj (باحث مستقل)
تم إصلاحه في ClickHouse 21.10.2.15، 2021-10-18
ثغرة تجاوز سعة المخزن المؤقت في الكومة في مرمّز الضغط LZ4 الخاص بـ ClickHouse عند parsing استعلام خبيث. لا يوجد أي تحقق من أن عمليات النسخ في الحلقة LZ4::decompressImpl، ولا سيما عملية النسخ العشوائي wildCopy<copy_amount>(op, ip, copy_end)، لا تتجاوز حدود buffer الوجهة.
Credits: JFrog Security Research Team
تجاوز سعة المخزن المؤقت في الكومة في مرمّز الضغط LZ4 الخاص بـ ClickHouse عند تحليل استعلام خبيث. لا يوجد أي تحقق من أن عمليات النسخ داخل الحلقة LZ4::decompressImpl، ولا سيما عملية النسخ الاعتباطية wildCopy<copy_amount>(op, ip, copy_end)، لا تتجاوز حدود مخزن الذاكرة المؤقت الخاص بالوجهة. هذه الثغرة مشابهة جدًا لـ CVE-2021-43304، لكن عملية النسخ المعرّضة للخطر موجودة في استدعاء مختلف لـ wildCopy.
Credits: فريق أبحاث الأمن في JFrog
قراءة خارج حدود الكومة في مرمّز الضغط LZ4 في ClickHouse عند تحليل استعلام خبيث. وكجزء من الحلقة LZ4::decompressImpl()، تُقرأ من البيانات المضغوطة قيمة غير موقعة بطول 16 بت يوفّرها المستخدم (offset). ثم يُستخدم هذا الإزاحة لاحقًا لتحديد طول عملية نسخ، من دون التحقق من الحدّ الأعلى لمصدر عملية النسخ.
Credits: فريق أبحاث الأمان في JFrog
قراءة خارج حدود الكومة في مرمّز الضغط LZ4 في ClickHouse عند تحليل استعلام خبيث. وضمن الحلقة LZ4::decompressImpl()، تُقرأ من البيانات المضغوطة قيمة غير موقّعة بطول 16 بت يوفّرها المستخدم (offset). ويُستخدم offset لاحقًا لتحديد طول عملية نسخ، من دون التحقق من الحد الأدنى لحدود مصدر عملية النسخ.
الفضل يعود إلى: فريق JFrog Security Research
ثغرة قسمة على الصفر في مرمّز الضغط Delta في ClickHouse عند تحليل استعلام خبيث. يُستخدم البايت الأول من المخزن المؤقت المضغوط في عملية modulo من دون التحقق من أنه لا يساوي 0.
Credits: فريق JFrog لأبحاث الأمن
ثغرة قسمة على الصفر في مرمّز الضغط DeltaDouble الخاص بـ ClickHouse عند تحليل استعلام خبيث. يُستخدم البايت الأول من المخزن المؤقت المضغوط في عملية باقي القسمة من دون التحقق من أن قيمته ليست 0.
الفضل: فريق أبحاث الأمن لدى JFrog
ثغرة قسمة على الصفر في مرمّز الضغط Gorilla في ClickHouse عند تحليل استعلام خبيث. يُستخدم البايت الأول من المخزن المؤقت المضغوط في عملية باقي القسمة من دون التحقق من أن قيمته ليست 0.
Credits: فريق JFrog Security Research
أُصلِح في ClickHouse 21.4.3.21، 2021-04-12
يمكن لمهاجم يمتلك امتياز 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
يمكن لمهاجم لديه صلاحية الكتابة في ZooKeeper، ويمكنه تشغيل خادم مخصص متاح على الشبكة التي يعمل عليها ClickHouse، إنشاء خادم خبيث مُعدّ خصيصًا ليعمل كنسخة متماثلة لـ ClickHouse وتسجيله في ZooKeeper. وعندما تجلب نسخة متماثلة أخرى جزء بيانات من النسخة المتماثلة الخبيثة، يمكنه إجبار clickhouse-server على الكتابة إلى مسار عشوائي في نظام الملفات.
Credits: Eldar Zaitov من فريق أمن المعلومات في Yandex
يمكن استغلال قراءة وكتابة خارج الحدود (OOB) وحالة underflow في الأعداد الصحيحة ضمن خوارزميات فك الضغط لتحقيق RCE أو DoS عبر البروتوكول الأصلي.
الفضل يعود إلى: Eldar Zaitov من فريق أمن المعلومات في Yandex
يمكن لعميل ضار مُصادَق عليه التسبب في تجاوز سعة المكدس، مما يؤدي إلى حجب الخدمة.
يُنسب الفضل إلى: Eldar Zaitov من فريق Yandex لأمن المعلومات
تم إصلاحه في إصدار ClickHouse 19.13.6.1، 2019-09-20
كانت دالة الجدول url تحتوي على ثغرة سمحت للمهاجم بحقن ترويسات HTTP عشوائية في الطلب.
الشكر: Nikita Tikhomirov
أُصلِح في إصدار ClickHouse 18.12.13، 2018-09-10
كانت الدوال الخاصة بتحميل نماذج CatBoost تسمح باجتياز المسارات وقراءة ملفات تعسفية عبر رسائل الخطأ.
الشكر لـ: Andrey Krasichkov من فريق أمن المعلومات في Yandex
تم الإصلاح في إصدار ClickHouse 18.10.3 بتاريخ 2018-08-13
أتاح unixODBC تحميل مكتبات مشتركة عشوائية من نظام الملفات، مما أدى إلى ثغرة تتيح تنفيذ تعليمات برمجية عن بُعد.
يُنسب الفضل إلى: Andrey Krasichkov وEvgeny Sidorov من فريق أمن المعلومات في Yandex
تم إصلاحه في إصدار ClickHouse 1.1.54388، 2018-06-28
سمحت دالة الجدول “remote” باستخدام محارف اعتباطية في الحقول “user” و”password” و”default_database”، مما أدى إلى هجمات تزوير الطلبات عبر البروتوكولات.
الشكر لـ: Andrey Krasichkov من فريق أمن المعلومات في Yandex
أُصلِح في إصدار ClickHouse 1.1.54390، 2018-07-06
كان عميل MySQL في ClickHouse يفعّل وظيفة “LOAD DATA LOCAL INFILE”، ما أتاح لقاعدة بيانات MySQL خبيثة قراءة أي ملفات بشكل تعسفي من خادم ClickHouse المتصل.
يُنسب الفضل إلى: Andrey Krasichkov وEvgeny Sidorov من فريق أمن المعلومات في Yandex
أُصلح في إصدار ClickHouse 1.1.54131، 2017-01-10
قد يؤدي إعداد غير صحيح في حزمة deb إلى استخدام قاعدة البيانات دون تصريح.
الفضل يعود إلى: المركز الوطني للأمن السيبراني (NCSC) في المملكة المتحدةآخر تعديل في ٢ يوليو ٢٠٢٦