HeadlinesBriefing HeadlinesBriefing.com

Google में 90,000 $ की RCE कमजोरी कैसे मिली

Hacker News •
×

एक सुरक्षा शोधकर्ता को Google की डेवलपर दस्तावेज़ साइटों में एक रिमोट कोड एक्जीक्यूशन कमजोरी मिली। इन साइटों पर साझा OAuth फ़्लो का मानचित्रण करते समय शोधकर्ता ने देखा कि /oauth2authorize एंडपॉइंट एक असामान्य रूप से बड़ी Flask सेशन कुकी सेट कर रहा था, लगभग 1,200 बाइट्स, जो CSRF टोकन और रिटर्न URL के लिए आवश्यक आकार से कहीं अधिक था। Flask सेशन कुकीज़ पर हस्ताक्षर होते हैं लेकिन वे एन्क्रिप्टेड नहीं होतीं, इसलिए उनकी सामग्री किसी भी ऐसे व्यक्ति द्वारा पढ़ी जा सकती थी जिसके पास कुकी हो।

कुकी को डिकोड करने पर एक pickle-सीरियलाइज़्ड ऑब्जेक्ट मिला, जिसमें Google का OAuth client_id और client_secret सादे पाठ में थे। शोधकर्ता ने पाया कि client secret ही Flask के SECRET_KEY के रूप में भी काम करता था, यानी वही मान हस्ताक्षर को रखता और सत्यापित करता था। चूँकि हस्ताक्षर की कुंजी स्वयं कुकी के भीतर उजागर थी, शोधकर्ता ऑफ़लाइन वैध हस्ताक्षर दोबारा गणना कर सकता था और मनमाना सेशन डेटा जाली बना सकता था।

कॉलबैक एंडपॉइंट सेशन से OAuth फ़्लो डेटा पढ़ता है और उसे pickle.loads को देता है। जाली सेशन के साथ, एक हमलावर दुर्भावनापूर्ण pickle पेलोड दे सकता था, जिससे यह बिना प्रमाणीकरण वाला रिमोट कोड एक्जीक्यूशन मार्ग बन जाता। शोधकर्ता ने केवल time.sleep को सक्रिय करने वाले पेलोड का उपयोग करके इस समस्या को सुरक्षित रूप से सत्यापित किया, और Google के प्रोडक्शन सिस्टम पर कोई कमांड नहीं चलाई।

यह खोज दर्शाती है कि क्लाइंट-साइड सेशन डेटा में गुप्त जानकारी संग्रहीत करना और अविश्वसनीय pickle डेटा को डीसीरियलाइज़ करना मिलकर एक गंभीर कमजोरी का रूप ले सकते हैं। इस बग के लिए 90,000 डॉलर का इनाम मिला।

स्रोत: Hacker News · HeadlinesBriefing द्वारा सारांशित