Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-51992 — CVE-2026-51992 के लिए प्रूफ-ऑफ-कॉन्सेप्ट और विस्तृत विवरण, ClickHouse PostgreSQL डिक्शनरी में एक SQL इंजेक्शन भेद्यता, जो मनमाने कमांड निष्पादन की अनुमति देती है। | Kitploit
उपकरण/GitHubGitHub/theliimbo/cve-2026-51992
भेद्यता विश्लेषणकोड विश्लेषणशोषणपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षाडेटाबेस सुरक्षा
GitHubtheliimbo/cve-2026-51992

CVE-2026-51992

CVE-2026-51992 के लिए प्रूफ-ऑफ-कॉन्सेप्ट और विस्तृत विवरण, ClickHouse PostgreSQL डिक्शनरी में एक SQL इंजेक्शन भेद्यता, जो मनमाने कमांड निष्पादन की अनुमति देती है।

रिपॉजिटरी देखें
25 दिन पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

CVE-2026-51992

ClickHouse के भीतर एक ऐसी सुविधा मौजूद है जो सही अनुमतियों वाले उपयोगकर्ता को विभिन्न डेटाबेस के साथ इंटरैक्ट करने और उन पर विशिष्ट क्वेरी चलाने के लिए डिक्शनरी बनाने की अनुमति देती है। PostgreSQL के लिए, डेटाबेस पर निष्पादित होने से पहले SELECT क्वेरी को COPY( {QUERY} ) TO STDOUT स्टेटमेंट में लपेटा जाता है। बनाई गई डिक्शनरी में एक कोष्ठक जोड़कर, COPY( {QUERY} ) TO STDOUT स्टेटमेंट से बाहर निकला जा सकता है और मनमाने SQL स्टेटमेंट चलाए जा सकते हैं, जो आगे चलकर डेटाबेस सर्वर पर मनमाने कमांड चलाने की ओर ले जा सकते हैं।

विवरण

PostgreSQL डिक्शनरी निम्नलिखित संरचना के साथ बनाई जाती हैं:

root@kitploit:~
SOURCE(POSTGRESQL(
    port 5432
    host 'postgresql-hostname'
    user 'postgres_user'
    password 'postgres_password'
    db 'db_name'
    table 'table_name'
    replica(host 'example01-1' port 5432 priority 1)
    replica(host 'example01-2' port 5432 priority 2)
    where 'id=10'
    invalidate_query 'SQL_QUERY'
    query 'SELECT id, value_1, value_2 FROM db_name.table_name'
))

डिक्शनरी में उपयोग किए जाने वाले PostgreSQL इंजनों के दस्तावेज़ में निम्नलिखित उल्लेख किया गया है:

PostgreSQL पक्ष पर SELECT क्वेरी प्रत्येक SELECT क्वेरी के बाद कमिट के साथ read-only PostgreSQL ट्रांज़ैक्शन के अंदर COPY (SELECT ...) TO STDOUT के रूप में चलती हैं।

चूंकि Postgres इंस्टेंस पर भेजे जाने से पहले डिक्शनरी में परिभाषित क्वेरी पर कोई अतिरिक्त सत्यापन नहीं होता है, इसलिए क्वेरी को ")" से शुरू करके "COPY(...) TO STDOUT" से बाहर निकला जा सकता है, जिससे एक ऐसा ट्रांज़ैक्शन बनता है जो read-only नहीं है। उदाहरण के रूप में, ClickHouse में एक "खराब" Postgres डिक्शनरी बनाने के लिए निम्नलिखित क्वेरी का उपयोग किया जा सकता है:

CREATE DICTIONARY exec_dict(id UInt64, value UInt64 DEFAULT 0) PRIMARY KEY id SOURCE(POSTGRESQL(port 5432 host '172.17.0.3' user 'postgres' password 'password' db 'postgres' query 'SELECT 1) TO PROGRAM \'id>/tmp/test\';-- ')) LAYOUT(DIRECT())

डिक्शनरी बन जाने के बाद, इसे ClickHouse के भीतर डिक्शनरी को संदर्भित करके लोड किया जा सकता है। ClickHouse एक त्रुटि लौटाएगा, जो दर्शाता है कि ClickHouse द्वारा अपेक्षित COPY फ़ंक्शन विफल हो गया है। हालाँकि, बाकी क्वेरी अभी भी बैकएंड PostgreSQL डेटाबेस पर निष्पादित होगी। PostgreSQL की PROGRAM सुविधा का दुरुपयोग करके, मनमाने कमांड चलाए जा सकते हैं।

show-code-executing-in-container

संदर्भ

जबकि मूल परीक्षण संस्करण 25.8.10.7 पर किया गया था, जब रिपोर्ट 30 जनवरी, 2025 को प्रस्तुत की गई थी, उस समय नवीनतम संस्करण 26.3.9.8 था और यह भेद्यता अभी भी मौजूद थी। समीक्षा के बाद, मुद्दे को 10 अप्रैल, 2026 को "लागू नहीं" (not applicable) के रूप में चिह्नित किया गया, जिसमें निम्नलिखित कथन दिया गया:

नहीं - यह सुरक्षा कारणों से नहीं है बल्कि मुख्यतः दक्षता के लिए है। postgres क्रेडेंशियल + remote table function वाला उपयोगकर्ता पहले से ही बहुत कुछ कर सकता है या सीधे postgresql डेटाबेस से कनेक्ट होकर इन क्वेरी को निष्पादित कर सकता है।

इस प्रकार यह एक जोखिम नहीं है, यहाँ हमलावर को postgresql डेटाबेस के लिए वैध क्रेडेंशियल और CLickHouse पर एक वैध उपयोगकर्ता + postgresql table function का उपयोग करने की अनुमति की आवश्यकता होती है।

Postgresql डेटाबेस की सुरक्षा के लिए, उपयोगकर्ताओं को CLickHouse उपयोगकर्ता द्वारा उपयोग किए जाने वाले किसी भी postgresql क्रेडेंशियल के लिए उचित अनुमतियों का उपयोग करना चाहिए - और इसका मतलब है सीमित अनुमति, सीमित दायरा और सीधे डिफ़ॉल्ट "postgres" क्रेडेंशियल का उपयोग न करना।

इस प्रकार, यह इस लेखन के समय ClickHouse के नवीनतम संस्करणों पर भी लागू है:

show-same-query-for-clickhouse

newer-version-for-clickhouse

show-vuln-still-happeneing-latest-version

ऐसा प्रतीत नहीं होता कि कोई फिक्स जारी किया जाएगा, जिसका अर्थ है कि ClickHouse के सभी वर्तमान और संभवतः भविष्य के संस्करण प्रभावित होंगे।

टूल डाउनलोड करें