बिगसिग, मोज़िला एनएसएस में एक भेद्यता जो कोड निष्पादन की अनुमति दे सकती है

के बारे में खबर जारी की गई एक गंभीर भेद्यता की पहचान करना (पहले से ही CVE-2021-43527 के तहत सूचीबद्ध) en क्रिप्टोग्राफ़िक लाइब्रेरीज़ का सेट एनएसएस (नेटवर्क सुरक्षा सेवाएँ) मोज़िला से जो दुर्भावनापूर्ण कोड निष्पादन का कारण बन सकता है डीईआर (विशिष्ट एन्कोडिंग नियम) का उपयोग करके निर्दिष्ट डीएसए या आरएसए-पीएसएस डिजिटल हस्ताक्षर संसाधित करते समय।

समस्या यह उन अनुप्रयोगों में प्रकट होता है जो डिजिटल हस्ताक्षरों को संभालने के लिए एनएसएस का उपयोग करते हैं सीएमएस, एस/एमआईएमई, पीकेसीएस#7 और पीकेसीएस#12, या तैनाती में प्रमाणपत्रों का सत्यापन करते समय टीएलएस, एक्स.509, ओसीएसपी, और सीआरएल। टीएलएस, डीटीएलएस और एस/एमआईएमई समर्थन, ईमेल क्लाइंट और पीडीएफ दर्शकों के साथ विभिन्न क्लाइंट और सर्वर अनुप्रयोगों में भेद्यता उत्पन्न हो सकती है जो डिजिटल हस्ताक्षर सत्यापित करने के लिए एनएसएस CERT_VerifyCertificate() कॉल का उपयोग करते हैं।

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

एक ही समय में, फ़ायरफ़ॉक्स, थंडरबर्ड और टोर ब्राउज़र में भेद्यता दिखाई नहीं देती है, जो सत्यापन के लिए एक अलग mozilla::pkix लाइब्रेरी का उपयोग करता है, जो NSS का भी हिस्सा है। क्रोम-आधारित ब्राउज़र (जब तक कि विशेष रूप से एनएसएस के साथ संकलित न किया गया हो), जो 2015 तक एनएसएस का उपयोग करता था, लेकिन बाद में बोरिंगएसएसएल में स्थानांतरित हो गया, समस्या से प्रभावित नहीं हैं.

भेद्यता vfy_CreateContext में प्रमाणपत्र सत्यापन कोड में त्रुटि के कारण है secvfy.c फ़ाइल का कार्य। जब क्लाइंट सर्वर का प्रमाणपत्र पढ़ता है तो त्रुटि स्वयं प्रकट होती है जैसे कि जब सर्वर क्लाइंट के प्रमाणपत्रों को संसाधित करता है।

डीईआर-एनकोडेड डिजिटल हस्ताक्षर को सत्यापित करते समय, एनएसएस हस्ताक्षर को एक निश्चित आकार के बफर में डिकोड करता है और इस बफर को पीकेसीएस # 11 मॉड्यूल में भेजता है। पोस्ट-प्रोसेसिंग के दौरान, डीएसए और आरएसए-पीएसएस हस्ताक्षर के लिए, आकार गलत तरीके से जांचा जाता है, जो जो VFYContextStr संरचना के लिए आवंटित बफर के अतिप्रवाह की ओर जाता है, यदि डिजिटल हस्ताक्षर का आकार 16384 बिट्स से अधिक है (बफर के लिए 2048 बाइट्स आवंटित किए गए हैं, लेकिन यह जांच नहीं की गई है कि हस्ताक्षर बड़ा हो सकता है)।

भेद्यता वाला कोड 2003 का है।, लेकिन 2012 में रिफैक्टरिंग तक इससे कोई खतरा नहीं था। 2017 में, आरएसए-पीएसएस समर्थन को लागू करते समय भी यही गलती की गई थी। किसी हमले को अंजाम देने के लिए, आवश्यक डेटा प्राप्त करने के लिए कुछ कुंजियों की संसाधन-गहन पीढ़ी की आवश्यकता नहीं होती है, क्योंकि अतिप्रवाह डिजिटल हस्ताक्षर की वैधता के सत्यापन से पहले चरण में होता है। डेटा का आउट-ऑफ़-बाउंड भाग मेमोरी के एक क्षेत्र में लिखा जाता है जिसमें फ़ंक्शन पॉइंटर्स होते हैं, जिससे कार्यशील शोषण बनाना आसान हो जाता है।

Google प्रोजेक्ट ज़ीरो के शोधकर्ताओं द्वारा भेद्यता की पहचान की गई थी नई फ़ज़िंग परीक्षण विधियों के साथ प्रयोगों के दौरान और यह एक अच्छा प्रदर्शन है कि कैसे एक अच्छी तरह से परीक्षण किए गए ज्ञात प्रोजेक्ट में तुच्छ कमजोरियाँ लंबे समय तक अज्ञात रह सकती हैं।

के लिए के रूप में शीर्ष मुद्दे जहां मुद्दे पर किसी का ध्यान नहीं गया कब का:

  • एनएसएस ड्राइव लाइब्रेरी और फ़ज़िंग परीक्षण पूरी तरह से नहीं, बल्कि व्यक्तिगत घटकों के स्तर पर किए गए थे।
  • उदाहरण के लिए, डीईआर और प्रक्रिया प्रमाणपत्रों को डिकोड करने के लिए कोड को अलग से सत्यापित किया गया था; फ़ज़िंग के दौरान, एक प्रमाणपत्र अच्छी तरह से प्राप्त किया जा सकता था, जिसके कारण प्रश्न में भेद्यता प्रकट हुई, लेकिन इसका सत्यापन सत्यापन कोड तक नहीं पहुंचा, और समस्या सामने नहीं आई।
  • फ़ज़िंग परीक्षणों के दौरान, एनएसएस में ऐसी सीमाओं की अनुपस्थिति में आउटपुट के आकार (10,000 बाइट्स) पर कठोर सीमाएं लगाई गई थीं (सामान्य मोड में कई संरचनाओं का आकार 10,000 बाइट्स से अधिक हो सकता है, इसलिए, समस्याओं की पहचान करने के लिए, एक बड़ा आवश्यक इनपुट डेटा की मात्रा)। पूर्ण सत्यापन के लिए, सीमा 2 24 -1 बाइट्स (16 एमबी) होनी चाहिए, जो टीएलएस में अनुमत प्रमाणपत्र के अधिकतम आकार से मेल खाती है।
  • फ़ज़िंग परीक्षणों का उपयोग करके कोड कवरेज के बारे में ग़लत धारणा। कमजोर कोड का सक्रिय रूप से परीक्षण किया गया था, लेकिन फ़्यूज़र्स का उपयोग करके, जो आवश्यक इनपुट डेटा उत्पन्न करने में असमर्थ थे। उदाहरण के लिए, फ़ज़र tls_server_target ने बॉक्स से बाहर प्रमाणपत्रों के एक पूर्वनिर्धारित सेट का उपयोग किया, जिसने प्रमाणपत्र सत्यापन कोड की जाँच को केवल TLS संदेशों और प्रोटोकॉल स्थिति परिवर्तनों तक सीमित कर दिया।

अंत में, उल्लेखनीय है कि बिगसिग कोडनेम वाली समस्या को एनएसएस 3.73 और एनएसएस ईएसआर 3.68.1 में ठीक कर दिया गया है। और पैकेज के रूप में समाधान के अपडेट पहले ही विभिन्न वितरणों में जारी किए जा चुके हैं: डेबियन, आरएचईएल, उबंटू, एसयूएसई, आर्क लिनक्स, जेंटू, फ्रीबीएसडी, आदि।

यदि आप इसके बारे में अधिक जानना चाहते हैं, तो आप परामर्श कर सकते हैं निम्नलिखित लिंक।


अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: एबी इंटरनेट नेटवर्क 2008 SL
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।