CVE-2026-54350
Budibase: प्रकाशित-ऐप क्वेरी टेम्पलेट के माध्यम से अनाम NoSQL ऑपरेटर इंजेक्शन
- प्रकाशित
- 26 जून 2026
- अद्यतन
- 30 जून 2026
- सीएनए असाइन करना
- GitHub_M
- साक्ष्य देखे गए
- 8 अग॰ 2026
Budibase: प्रकाशित-ऐप क्वेरी टेम्पलेट के माध्यम से अनाम NoSQL ऑपरेटर इंजेक्शन
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:Nकम · अगले 30 दिन
ईपीएसएस एक सांख्यिकीय अनुमान है, कोई निश्चितता या प्रभाव का माप नहीं। इसे सीवीएसएस, केईवी स्थिति, एक्सपोज़र और अपने वातावरण के साथ मिलाएं।
Budibase एक ओपन-सोर्स लो-कोड प्लेटफ़ॉर्म है। 3.39.12 से पहले, किसी भी प्रकाशित Budibase ऐप का बिना प्रमाणीकरण वाला आगंतुक अंतर्निहित MongoDB, CouchDB, Elasticsearch, DynamoDB-PartiQL, या REST-with-JSON-body संग्रह के हर दस्तावेज़ को पढ़ लेता है और, जहाँ बिल्डर ने PUBLIC लेखन क्वेरी प्रकाशित की है, एक ही HTTP अनुरोध से उस संग्रह के हर दस्तावेज़ को संशोधित कर देता है। enrichContext packages/server/src/sdk/workspace/queries/queries.ts:121-138 पर पैरामीटर मानों को क्वेरी के कच्चे JSON बॉडी में प्रतिस्थापित करता है, फिर परिणाम को JSON.parses करता है। वैलिडेटर validateQueryInputs packages/server/src/api/controllers/query/index.ts:61-71 पर उपयोगकर्ता इनपुट में केवल Handlebars मार्करों ({{, }}) को अस्वीकार करता है और JSON मेटाकैरेक्टरों (", \, }) को एस्केप नहीं करता। एक पैरामीटर मान जिसमें समापन उद्धरण और अतिरिक्त कुंजियाँ होती हैं, हमलावर-नियंत्रित फ़ील्ड्स को पार्स किए गए फ़िल्टर ऑब्जेक्ट में डाल देता है। Mongo find के लिए, पार्स किया गया फ़िल्टर सीधे collection.find() (packages/server/src/integrations/mongodb.ts:506-510) में पहुँचता है। डुप्लीकेट-कुंजी JSON पार्सिंग बिल्डर के {name: "..."} को {name: {$exists: true}} से ओवरराइड कर देती है और हर दस्तावेज़ लौटा देती है। यही प्रिमिटिव updateMany क्वेरी (mongodb.ts:577-585) के विरुद्ध फ़िल्टर के दायरे को पूरे संग्रह तक बढ़ा देता है, जबकि बिल्डर-नियंत्रित $set बॉडी हर मेल खाते दस्तावेज़ पर चलती है। authorized मिडलवेयर packages/server/src/middleware/authorized.ts:141-148 पर तब शॉर्ट-सर्किट हो जाता है जब क्वेरी की भूमिका PUBLIC होती है। इस पथ पर CSRF लागू नहीं होता है। POST /api/v2/queries/:queryId (packages/server/src/api/routes/query.ts:63) बिना किसी सत्र के कॉल स्वीकार करता है, केवल x-budibase-app-id हेडर के साथ जो प्रकाशित ऐप URL से सार्वजनिक होता है। यह भेद्यता 3.39.12 में ठीक कर दी गई है।
CVE-2026-54350 के लिए PoC — Budibase में बिना प्रमाणीकरण के NoSQL ऑपरेटर इंजेक्शन (CVSS 10.0)। एक PUBLIC क्वेरी के माध्यम से किसी भी दस्तावेज़ संग्रह को पढ़ें/बड़े पैमाने पर लिखें।
भेद्यता जानकारी का उपयोग केवल उन प्रणालियों पर करें जिनके मालिक आप हैं या परीक्षण के लिए अधिकृत हैं। किटप्लॉइट सार्वजनिक अनुसंधान मेटाडेटा से लिंक करता है और शोषण कोड या दुर्भावनापूर्ण पेलोड को संग्रहीत नहीं करता है।