लिनक्स कर्नेलको eBPF सबसिस्टममा कमजोरीहरू

eBPF सबसिस्टममा एउटा कमजोरी (CVE-2021-29154) पहिचान गरिएको थियो, जसले तपाईंलाई ह्यान्डलरहरूलाई ट्रेसिङ गर्न, सबसिस्टमको सञ्चालनको विश्लेषण गर्न र ट्राफिक व्यवस्थापन गर्न, लिनक्स कर्नेल भित्र JIT सँग विशेष भर्चुअल मेसिनमा कार्यान्वयन गर्न अनुमति दिन्छ। स्थानीय प्रयोगकर्ता कर्नेल स्तरमा तिनीहरूको कोडको कार्यान्वयन प्राप्त गर्न। समस्या 5.11.12 (समावेशी) को रिलीज सम्म देखा पर्दछ र अझै वितरण (Debian, Ubuntu, RHEL, Fedora, SUSE, Arch) मा निश्चित गरिएको छैन। फिक्स प्याचको रूपमा उपलब्ध छ।

भेद्यता पहिचान गर्ने अन्वेषकहरूका अनुसार, तिनीहरूले 32- र 64-बिट x86 प्रणालीहरूको लागि शोषणको कार्य प्रोटोटाइप विकास गर्न सक्षम थिए, जुन एक विशेषाधिकार नभएका प्रयोगकर्ताद्वारा प्रयोग गर्न सकिन्छ। यद्यपि, Red Hat ले नोट गर्छ कि समस्याको गम्भीरता eBPF प्रणाली कल प्रयोगकर्तालाई पहुँचयोग्य छ कि छैन भन्ने कुरामा निर्भर गर्दछ। उदाहरणका लागि, पूर्वनिर्धारित कन्फिगरेसनमा RHEL र धेरै अन्य Linux वितरणहरूमा, BPF JIT सक्षम गरिएको छ र प्रयोगकर्तासँग CAP_SYS_ADMIN अधिकारहरू छन् भने कमजोरीलाई शोषण गर्न सकिन्छ। एक समाधानको रूपमा, यो आदेश प्रयोग गरेर BPF JIT असक्षम गर्न सिफारिस गरिन्छ: echo 0 > /proc/sys/net/core/bpf_jit_enable

JIT कम्पाइलरको मेसिन कोड उत्पादन प्रक्रियाको क्रममा शाखा निर्देशनहरूको लागि अफसेट गणना गर्दा त्रुटिको कारणले गर्दा समस्या भएको हो। विशेष गरी, शाखा निर्देशनहरू उत्पन्न गर्दा, यसले अनुकूलन चरण पार गरेपछि अफसेट परिवर्तन हुन सक्छ भन्ने कुरालाई ध्यानमा राख्दैन। यो त्रुटि असामान्य मेसिन कोड उत्पन्न गर्न र कर्नेल स्तरमा कार्यान्वयन गर्न प्रयोग गर्न सकिन्छ।

यो उल्लेखनीय छ कि भर्खरै eBPF उपप्रणालीमा यो मात्र जोखिम होइन। मार्चको अन्त्यमा, कर्नेलमा दुई थप कमजोरीहरू पहिचान गरियो (CVE-2020-27170, CVE-2020-27171), स्पेक्टर वर्गको कमजोरीहरू विरुद्ध सुरक्षालाई बाइपास गर्न eBPF प्रयोग गर्न सम्भव बनाउँदै, जसले कर्नेल मेमोरीको सामग्रीहरू निर्धारण गर्न अनुमति दिन्छ। निश्चित कार्यहरूको सट्टा कार्यान्वयनको लागि अवस्था सिर्जना गर्ने परिणामको रूपमा। स्पेक्टर आक्रमणलाई विशेषाधिकार प्राप्त कोडमा आदेशहरूको निश्चित अनुक्रमको उपस्थिति आवश्यक छ जसले निर्देशनहरूको सट्टा कार्यान्वयनमा जान्छ। eBPF मा, कार्यान्वयनको लागि प्रसारित BPF कार्यक्रमहरूसँग हेरफेर मार्फत त्यस्ता निर्देशनहरू उत्पन्न गर्न धेरै तरिकाहरू फेला परेका छन्।

CVE-2020-27170 जोखिम BPF प्रमाणिकरणमा सूचक हेरफेरको कारणले गर्दा सट्टा कार्यहरू बफर सीमाहरू बाहिरको क्षेत्रमा पहुँच गर्न निम्त्याउँछ। जोखिम CVE-2020-27171 एक पूर्णांक अन्डरफ्लो त्रुटिको कारणले गर्दा सूचकहरूसँग काम गर्दा, बफर बाहिर डेटामा सट्टा पहुँचको लागि नेतृत्व। यी समस्याहरू पहिले नै कर्नेल रिलीज 5.11.8, 5.10.25, 5.4.107, 4.19.182 र 4.14.227 मा फिक्स गरिसकिएको छ, र धेरै लिनक्स वितरणहरूको लागि कर्नेल अपडेटहरूमा पनि समावेश गरिएको छ। अन्वेषकहरूले एक प्रोटोटाइप शोषण तयार गरेका छन् जसले एक विशेषाधिकारविहीन प्रयोगकर्तालाई कर्नेल मेमोरीबाट डाटा निकाल्न अनुमति दिन्छ।

स्रोत: opennet.ru

एक टिप्पणी थप्न