
🎩 🤟🏻 [P1-$10,000] Google Chrome, Microsoft Edge और Opera - मैकीज पुलिकोव्स्की द्वारा रिपोर्ट की गई भेद्यता - सिस्टम पर्यावरण चर लीक - CVE-2022-0337
इस भेद्यता का सफल शोषण उपयोगकर्ता के सिस्टम एनवायरनमेंट वेरिएबल्स में संग्रहीत रहस्यों के लीक का कारण बन सकता है। Chromium 92 संस्करण में एक सुरक्षा बग पाया गया था और 97 संस्करण में पैच किया गया। क्रोमियम इंजन पर आधारित कई वेब ब्राउज़र हैं, जैसे Google Chrome, Microsoft Edge, Opera, और Brave। Brave को छोड़कर वे सभी असुरक्षित थे। भेद्यता File System Access API में है, अधिक विशेष रूप से window.showSaveFilePicker() विधि में।
CVE संस्करण: CVE-2022-0337
श्रेय: Maciej Pulikowski
पुरस्कार: Google VRP से $10,000
अपने वेब-ब्राउज़र का संस्करण जाँचें:
chrome://version/edge://version/opera://updateकेवल WINDOWS असुरक्षित हैं। Linux और Mac सुरक्षित हैं।
https://www.youtube.com/watch?v=q7OIEWtalg8
लाइक और सब्सक्रिप्शन के लिए धन्यवाद 😀👍

let a = await window.showSaveFilePicker({suggestedName:'%username%'});
a.name;
उदाहरण में, एक %username% एनवायरनमेंट वेरिएबल का उपयोग किया गया है। यह लॉग इन किया हुआ Windows यूज़रनेम लौटाता है। इसके अलावा, और भी कई दिलचस्प एनवायरनमेंट वेरिएबल हैं:
यहाँ कुछ उदाहरण हैं:
और भी बहुत कुछ...
इसलिए हमलावर लक्ष्य की AWS सेवाओं, Github खाते या Binance टोकन से API (पैसे निकालने) तक पहुँच प्राप्त कर सकता है, और भी बहुत कुछ...
मेरे रिपॉजिटरी में एनवायरनमेंट वेरिएबल्स में और गोपनीय जानकारी देखें:
🦄🔒 एनवायरनमेंट वेरिएबल्स में गोपनीय जानकारी की अद्भुत सूची 🖥️
पिछला उदाहरण लोकल Google Chrome Devtools में चलाया गया है।
जाहिर है, हमलावर इस भेद्यता का सफल शोषण करने के लिए एक विशेष HTML फ़ाइल (वेबसाइट) तैयार कर सकता है।
env.html - रिपॉजिटरी में तैयार किए गए विशेष HTML का एक उदाहरण है।
लेकिन, क्या वास्तव में उपयोगकर्ता को फ़ाइल डाउनलोड करने की आवश्यकता है?
हाँ, हालाँकि, हमलावर एक वेबसाइट बना सकता है जो उपयोगकर्ता को फ़ाइल सेव करने के डायलॉग को चलाने और स्वीकार करने के लिए कीबोर्ड पर ENTER बटन को 2 सेकंड तक दबाए रखने के लिए प्रोत्साहित करे। क्योंकि Windows डायलॉग डिफ़ॉल्ट रूप से Save बटन पर फोकस करता है, फ़ाइल सिर्फ एक पल में सेव हो जाएगी।
*.gif Opera से है (Chrome और Edge पहले ही ठीक कर दिए गए थे)
निष्कर्ष में, उपयोगकर्ता द्वारा कीबोर्ड पर ENTER बटन को 2 सेकंड तक दबाए रखने से उसके सिस्टम एनवायरनमेंट वेरिएबल्स का लीक हो सकता है। यह एक महत्वपूर्ण समस्या है क्योंकि उपयोगकर्ता सिस्टम एनवायरनमेंट वेरिएबल में महत्वपूर्ण गोपनीय जानकारी संग्रहीत कर सकता है, जैसे उसकी AWS सेवाओं, Github खाते या Binance तक पहुँच।
मैंने बग को ठीक करने की चुनौती ली। यहाँ, मैं रेखांकित करना चाहूँगा कि मैं c++ डेवलपर नहीं हूँ 😎।
स्रोत: https://bugs.chromium.org/p/chromium/issues/detail?id=1247389#c9
समाधानों में से एक था suggestedName में % वर्ण को _ से बदलना। इससे समस्या हल हो जानी चाहिए।

इसे यहाँ डाला जा सकता है:
और परिणाम हैं:


वास्तव में इसने समस्या हल कर दी, लेकिन यह कोड डालने के लिए सबसे अच्छी जगह नहीं थी 😋। हालाँकि, मुझे बहुत खुशी हुई कि मैंने इसे स्वयं ठीक कर लिया 😎
अंतिम फिक्स यहाँ पाया जा सकता है:
https://bugs.chromium.org/p/chromium/issues/detail?id=1247389#c12
यह परियोजना केवल शैक्षिक उद्देश्यों के लिए उपयोग की जा सकती है। पूर्व अनुमति के बिना लक्षित प्रणालियों के विरुद्ध इस सॉफ़्टवेयर का उपयोग करना अवैध है, और इस सॉफ़्टवेयर के दुरुपयोग से होने वाली किसी भी क्षति की जिम्मेदारी लेखक की नहीं होगी।
![]() | ![]() | ![]() | ![]() | ![]() |
|---|
| 92-96 असुरक्षित ❗️❗️ 97+ पैच किया गया (सुरक्षित) ✔ | 92-96 असुरक्षित ❗️❗️ 97+ पैच किया गया (सुरक्षित) ✔ | 78-82 असुरक्षित ❗️❗️ 82 पैच किया गया (सुरक्षित) ✔ | सुरक्षित ✔ | सुरक्षित ✔ |