Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

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

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2022-22063 — कुछ पुराने Qualcomm चिपसेट के हाइपरवाइज़र फर्मवेयर में सुरक्षा समस्या | Kitploit
उपकरण/GitHubGitHub/msm8916-mainline/cve-2022-22063
एम्बेडेड सिस्टम सुरक्षाविशेषाधिकार वृद्धिभेद्यता विश्लेषणशोषणहार्डवेयर सुरक्षापेपर और शोधलर्निंग और शिक्षाफर्मवेयर विश्लेषणबाइनरी शोषण
GitHubmsm8916-mainline/cve-2022-22063

CVE-2022-22063

कुछ पुराने Qualcomm चिपसेट के हाइपरवाइज़र फर्मवेयर में सुरक्षा समस्या

473133 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखें

CVE-2022-22063

CVE-2022-22063 कुछ पुराने Qualcomm चिपसेट के हाइपरवाइज़र फर्मवेयर में एक सुरक्षा समस्या है। एक असुरक्षित हार्डवेयर घटक ("बूट रीमैपर") का दुरुपयोग करके एक संशोधित ऑपरेटिंग सिस्टम से हाइपरवाइज़र तक पूर्ण पढ़ने/लिखने की पहुँच प्राप्त की जा सकती है (विशेषाधिकार वृद्धि)। प्रभावित प्लेटफार्मों पर इस समस्या का शोषण करना तुच्छ है, क्योंकि विशिष्ट फर्मवेयर संस्करण (जैसे पते या चर) के बारे में ज्ञान की आवश्यकता नहीं है।

नोट: हालाँकि Qualcomm ने ग्राहकों को सुधार प्रदान किए हैं (अपडेट जारी करने के लिए पर्याप्त समय के साथ) लेकिन कई प्रभावित उपकरण पहले से ही काफी पुराने हैं और विक्रेता से सुधार प्राप्त नहीं कर सकते हैं। इस समस्या का शोषण केवल एक संशोधित या समझौता किए गए ऑपरेटिंग सिस्टम (किसी अन्य सुरक्षा समस्या का उपयोग करके) से किया जा सकता है। ऑपरेटिंग सिस्टम को अद्यतित और सुरक्षित रखना पर्याप्त हो सकता है भले ही फर्मवेयर कमजोर हो।

अवलोकन

  • CVE पहचानकर्ता: CVE-2022-22063
  • सुरक्षा रेटिंग (Qualcomm): गंभीर
  • सामान्य भेद्यता स्कोरिंग सिस्टम: 8.4 (उच्च), CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • सामान्य कमजोरी गणना: CWE-1257: मिरर या उपनामित मेमोरी क्षेत्रों पर अनुचित पहुँच नियंत्रण और/या CWE-1262: रजिस्टर इंटरफ़ेस के लिए अनुचित पहुँच नियंत्रण, Qualcomm इस मुद्दे को मोटे तौर पर CWE-16: कॉन्फ़िगरेशन के रूप में वर्गीकृत करता है।

यह मुद्दा [Qualcomm के दिसंबर 2022 सुरक्षा बुलेटिन] में भी प्रकाशित किया गया था।

आवश्यकताएँ

यह मुद्दा प्रभावित लक्ष्य पर चल रहे हार्डवेयर और सॉफ्टवेयर के संयोजन पर निर्भर करता है:

  1. सॉफ़्टवेयर: डिवाइस एक अलग Qualcomm-प्रदत्त "हाइपरवाइज़र" फर्मवेयर चलाता है (आमतौर पर आंतरिक स्टोरेज पर hyp विभाजन में एक ELF इमेज)।
  2. हार्डवेयर: बूट रीमैपर का एक गैर-सुरक्षित संस्करण है (आमतौर पर APCS_BOOT_START_ADDR_NSEC नामक हार्डवेयर रजिस्टर का उपयोग करके कॉन्फ़िगरेबल), जो हाइपरवाइज़र द्वारा संरक्षित नहीं है और इसलिए कम विशेषाधिकार प्राप्त ऑपरेटिंग सिस्टम कर्नेल (जैसे Linux) द्वारा सुलभ है।

कई और चिपसेट हैं जिनमें संभवतः प्रभावित हार्डवेयर है (उदा. MSM8909 और MSM8953), लेकिन उनके पास एक अलग हाइपरवाइज़र फर्मवेयर नहीं है जिससे समझौता किया जा सके।

प्रभाव

  • विशेषाधिकार वृद्धि: पहले से समझौता किए गए ऑपरेटिंग सिस्टम कर्नेल (जैसे Linux) को देखते हुए, यह मुद्दा हाइपरवाइज़र स्तर तक आसानी से विशेषाधिकार बढ़ाने की अनुमति देता है (ARM पर EL1 -> EL2)। हाइपरवाइज़र द्वारा प्रबंधित सभी मेमोरी को पढ़ा या लिखा जा सकता है। यह हाइपरवाइज़र द्वारा प्रबंधित विभिन्न सुरक्षा डोमेन या वर्चुअल मशीनों (यदि कोई हों, कॉन्फ़िगरेशन पर निर्भर) के अलगाव को तोड़ता है। (यह भी देखें: [Qualcomm Snapdragon प्लेटफार्मों पर पहुँच नियंत्रण का परिचय])

  • सुरक्षित बूट: उत्पादन में उपलब्ध अधिकांश Qualcomm डिवाइस फर्मवेयर के अनधिकृत संशोधन को रोकने के लिए सुरक्षित बूट का उपयोग करते हैं। फर्मवेयर क्रिप्टोग्राफ़िक रूप से हस्ताक्षरित होता है और बूट श्रृंखला द्वारा सत्यापित किया जाता है। यह मुद्दा एक संशोधित ऑपरेटिंग सिस्टम से रनटाइम पर लोड किए गए हाइपरवाइज़र फर्मवेयर को संशोधित करने या पूरी तरह से बदलने की अनुमति देता है (या तो आधिकारिक रूप से समर्थित "बूटलोडर अनलॉकिंग" या किसी अन्य एक्सप्लॉइट के माध्यम से)। (यह भी देखें: [Qualcomm सुरक्षित बूट और छवि प्रमाणीकरण तकनीकी अवलोकन (v1.0)] और (v2.0))

तकनीकी पृष्ठभूमि

नोट: यह मुद्दा मूल रूप से Qualcomm Snapdragon 410 (MSM8916) प्लेटफॉर्म पर पाया गया था। निम्नलिखित में से कुछ स्पष्टीकरण MSM8916 के लिए विशिष्ट हो सकते हैं, उदा.:

  • विशिष्ट मेमोरी पते
  • 64-बिट ARM/AArch64 फर्मवेयर डिज़ाइन (कुछ प्रभावित प्लेटफॉर्म केवल 32-बिट ARM/AArch32 का समर्थन करते हैं)

हालाँकि, सामान्य अवधारणा सभी प्रभावित प्लेटफार्मों पर समान रूप से लागू होती है।

हाइपरवाइज़र

ARMv8-A 64-बिट आर्किटेक्चर 4 विशेषाधिकार स्तरों ("अपवाद स्तर", EL) को परिभाषित करता है। अलग-अलग स्तर होते हैं जो आमतौर पर एप्लिकेशन, ऑपरेटिंग सिस्टम कर्नेल और हाइपरवाइज़र के लिए उपयोग किए जाते हैं:

AArch64 अपवाद स्तर

CPU अपवादों के दौरान स्तरों के बीच स्विच करता है, उदा. आने वाले इंटरप्ट के कारण। कुछ स्तरों के बीच विशेष निर्देशों का उपयोग करके स्विच करना भी संभव है, जैसे हाइपरवाइज़र कॉल (hvc)। (यह भी देखें: [AArch64 अपवाद मॉडल])

हाइपरवाइज़र एक या कई वर्चुअल मशीनों को अलग-अलग ऑपरेटिंग सिस्टम कर्नेल के साथ होस्ट कर सकता है। प्रत्येक वर्चुअल मशीन को स्टेज 2 ट्रांसलेशन का उपयोग करके मेमोरी का अपना दृश्य दिया जा सकता है। वर्चुअल मशीन से सभी मेमोरी एक्सेस दो ट्रांसलेशन चरणों से गुज़रते हैं: पहला (वर्चुअल) ऑपरेटिंग सिस्टम द्वारा प्रबंधित किया जाता है, जबकि दूसरा चरण हाइपरवाइज़र द्वारा प्रबंधित किया जाता है। हाइपरवाइज़र या अन्य वर्चुअल मशीनों द्वारा उपयोग की जाने वाली मेमोरी को ट्रांसलेशन तालिकाओं से हटाकर छिपाया जा सकता है। (यह भी देखें: [AArch64 वर्चुअलाइज़ेशन], [AArch64 मेमोरी प्रबंधन])

Qualcomm का हाइपरवाइज़र फर्मवेयर EL2 में चलता है और EL1 (आमतौर पर Linux) में चलने वाले मुख्य ऑपरेटिंग सिस्टम कर्नेल से हाइपरवाइज़र मेमोरी तक पहुँच को अस्वीकार करने के लिए स्टेज 2 ट्रांसलेशन का उपयोग करता है। ध्यान दें कि इस सेटअप में स्टेज 2 ट्रांसलेशन का उपयोग मुख्य रूप से मेमोरी सुरक्षा के लिए किया जाता है, बिना पता अनुवाद के। मुख्य ऑपरेटिंग सिस्टम को मेमोरी-मैप्ड इनपुट/आउटपुट (MMIO) स्पेस में अधिकांश हार्डवेयर घटकों तक सीधी पहुँच मिलती है, उदा. SD कंट्रोलर या कैमरा सबसिस्टम। हाइपरवाइज़र/EL2 (hyp) और सिक्योर मॉनिटर/EL3 (tz का हिस्सा) से संबंधित मेमोरी तक पहुँच प्रतिबंधित है:

Qualcomm हाइपरवाइज़र मेमोरी सुरक्षा (स्टेज 2 ट्रांसलेशन का उपयोग करके)

बूट रीमैपर

बूट रीमैपर वर्चुअलाइज़ेशन से संबंधित नहीं है: इसकी आवश्यकता CPU कोर के प्रारंभिक बूट के दौरान होती है। इस हार्डवेयर प्लेटफॉर्म पर CPU कोर हमेशा एड्रेस 0x0 पर निष्पादन शुरू करते हैं। बूट रीमैपर CPU के चारों ओर बना एक अतिरिक्त हार्डवेयर घटक है जो पहले 64 या 128 KiB (0x00000 - 0x20000) को एक कॉन्फ़िगरेबल मेमोरी क्षेत्र में रीमैप करता है।

डिफ़ॉल्ट रूप से बूट रीमैपर बूट ROM (पहला कोड जो डिवाइस शुरू होने पर चलता है) को इंगित करता है। बाद में मैपिंग बदल दी जाती है ताकि अन्य CPU कोर तुरंत EL3 फर्मवेयर (tz का हिस्सा) में निष्पादन शुरू करें जो RAM में लोड किया गया था:

बूट रीमैपर

ध्यान दें कि CPU द्वारा एक्सेस किया गया पता (tz के अंतर्गत) दो अलग-अलग भौतिक पतों का उपयोग करके सुलभ है: RAM में वास्तविक पता (0x8650xxxx) और बूट रीमैपर का उपयोग करके रीमैप किया गया पता (0x0000xxxx)।

वास्तव में बूट रीमैपर के दो अलग-अलग उदाहरण हैं:

  • सुरक्षित: सुरक्षित अवस्था में किए गए मेमोरी एक्सेस को रीमैप करता है। यह CPU स्टार्ट-अप के लिए उपयोग किया जाने वाला उदाहरण है, क्योंकि CPU प्रारंभ में सुरक्षित अवस्था (EL3) में निष्पादन शुरू करता है। यह APCS_BOOT_START_ADDR_SEC (= 0x0b010004) का उपयोग करके कॉन्फ़िगरेबल है लेकिन केवल सुरक्षित अवस्था में।
  • गैर-सुरक्षित: गैर-सुरक्षित अवस्था में किए गए मेमोरी एक्सेस को रीमैप करता है। यह APCS_BOOT_START_ADDR_NSEC (= 0x0b010008) का उपयोग करके कॉन्फ़िगरेबल है, यहाँ तक कि गैर-सुरक्षित अवस्था में भी।

दोनों बूट रीमैपर उदाहरणों को एक मेमोरी रजिस्टर का उपयोग करके कॉन्फ़िगर किया जा सकता है जिसमें रीमैप किए गए क्षेत्र का आधार पता और दो कॉन्फ़िगरेशन बिट होते हैं: रीमैपिंग सक्षम करने के लिए REMAP_EN और केवल 64 KiB के बजाय पहले 128 KiB को रीमैप करने के लिए BOOT_128KB_EN।

(यह भी देखें: [Qualcomm Snapdragon 410E तकनीकी संदर्भ मैनुअल rev. D], पृष्ठ 85 और 116)

अवधारणा

पिछले दो अनुभागों के ज्ञान का उपयोग करके मूल विचार सरल है: हाइपरवाइज़र की मेमोरी सुरक्षा (स्टेज 2 ट्रांसलेशन) को बायपास करने के लिए बूट रीमैपर का उपयोग करें।

टूल डाउनलोड करें