PolKit भेद्यतेमुळे बहुतांश Linux वितरणांवर रूट प्रवेश मिळू शकतो

अलीकडे क्वालीज असे वृत्त प्रसिद्ध केले एक असुरक्षा ओळखली आहे (सीव्हीई -2021-4034) en सिस्टम घटक पोलकिट (पूर्वीचे पॉलिसीकिट), जे विशेषाधिकार नसलेल्या वापरकर्त्यांना उन्नत प्रवेश अधिकारांची आवश्यकता असलेल्या क्रिया करण्यास अनुमती देण्यासाठी वितरणामध्ये वापरले जाते.

असुरक्षितता विशेषाधिकार नसलेल्या स्थानिक वापरकर्त्याला त्यांचे विशेषाधिकार रूट वापरकर्त्यासाठी वाढवण्याची परवानगी देते आणि सिस्टमवर पूर्ण नियंत्रण मिळवा. समस्येचे कोडनाव PwnKit आहे आणि बहुतेक Linux वितरणांवर डीफॉल्ट सेटिंग्जमध्ये चालणारे कार्यरत शोषण तयार करण्यासाठी उल्लेखनीय आहे.

असे नमूद केले आहे समस्या PolKit सह समाविष्ट pkexec युटिलिटीमध्ये आहे, जे SUID रूट ध्वजासह येते आणि PolKit नियमांनुसार इतर वापरकर्त्यांच्या विशेषाधिकारांसह कमांड चालविण्यासाठी डिझाइन केलेले आहे.

युक्तिवादाच्या चुकीच्या हाताळणीमुळे कमांड लाइनवरून pkexec, a विशेषाधिकार नसलेला वापरकर्ता प्रमाणीकरणास बायपास करू शकतो आणि आपला कोड रूट म्हणून चालवू शकतो, स्थापित प्रवेश नियमांकडे दुर्लक्ष करून. आक्रमणासाठी, PolKit मध्ये कोणती सेटिंग्ज आणि निर्बंध सेट केले आहेत हे महत्त्वाचे नाही, एक्झिक्युटेबल फाइलसाठी SUID रूट विशेषता pkexec युटिलिटीसह सेट करणे पुरेसे आहे.

Pkexec शुद्धता तपासत नाही प्रक्रिया सुरू करताना पास झालेल्या कमांड लाइन वितर्कांची संख्या (argc) pkexec विकासकांनी असे गृहीत धरले की argv अॅरेमधील पहिल्या एंट्रीमध्ये नेहमी प्रक्रियेचे नाव असते (pkexec), आणि दुसरी एंट्री एकतर NULL किंवा pkexec द्वारे अंमलात आणलेल्या कमांडचे नाव असते.

युक्तिवादाची संख्या अॅरेच्या वास्तविक सामग्रीशी तुलना केली जात नसल्यामुळे आणि नेहमी 1 पेक्षा जास्त असल्याचे गृहित धरले जात असल्याने, जर Linux च्या execve फंक्शनला परवानगी देत ​​असलेल्या प्रक्रियेला रिक्त argv अॅरे पास केले गेले, तर pkexec ने NULL ला पहिला युक्तिवाद ( प्रक्रिया नाव), आणि बफर मेमरी नंतर पुढील, पुढील अॅरे सामग्री म्हणून.

समस्या अशी आहे की मेमरीमधील argv अॅरे नंतर envp अॅरे आहे ज्यामध्ये पर्यावरण व्हेरिएबल्स असतात. अशा प्रकारे, रिकाम्या argv अॅरेसह, pkexec अॅरेच्या पहिल्या घटकामधून पर्यावरण व्हेरिएबल्ससह (argv[1] envp[0] सारखेच बनले आहे), ज्याची सामग्री द्वारे नियंत्रित केली जाऊ शकते. हल्लेखोर.

मूल्य argv[1] प्राप्त केल्यानंतर, pkexec PATH मधील फाईल पथ वापरून एक्झिक्युटेबल फाईलचा पूर्ण मार्ग निर्धारित करण्याचा प्रयत्न करतो आणि argv[1] कडे पूर्ण मार्गासह स्ट्रिंगवर पॉइंटर लिहितो, ज्यामुळे मूल्य ओव्हरराईट होते. पहिल्या पर्यावरण व्हेरिएबलचे देखील, कारण argv[1] envp[0] सारखेच आहे. पहिल्या एन्व्हायर्नमेंट व्हेरिएबलच्या नावात फेरफार करून, आक्रमणकर्ता pkexec मध्ये दुसरे पर्यावरण व्हेरिएबल बदलू शकतो, उदाहरणार्थ, "LD_PRELOAD" पर्यावरण व्हेरिएबल बदलू शकतो, ज्याला suid प्रोग्राम्समध्ये परवानगी नाही आणि प्रक्रियेत त्याची सामायिक लायब्ररी लोड करा. .

कार्यरत शोषण GCONV_PATH व्हेरिएबल प्रतिस्थापन वापरते, ज्याचा वापर चिन्ह ट्रान्सकोडिंग लायब्ररीचा मार्ग निर्धारित करण्यासाठी केला जातो जो g_printerr() फंक्शन कॉल केल्यावर डायनॅमिकरित्या लोड केला जातो, जो त्याच्या कोडमध्ये iconv_open() वापरतो.

GCONV_PATH मधील पथ पुन्हा परिभाषित करून, आक्रमणकर्ता सामान्य iconv लायब्ररी नव्हे तर स्वतःची लायब्ररी लोड करण्यास व्यवस्थापित करू शकतो, ज्याचे ड्रायव्हर्स एरर मेसेज दरम्यान pkexec अद्याप रूट म्हणून चालत असताना आणि स्टार्टअपच्या पडताळणीपूर्वी कार्यान्वित केले जातील. परवानग्या

असे दिसून येते की, जरी समस्या मेमरी दूषित झाल्यामुळे आहे, तरीही ती विश्वसनीयपणे आणि वारंवार शोषण केली जाऊ शकते, वापरलेले हार्डवेअर आर्किटेक्चर विचारात न घेता.

शोषण तयार Ubuntu, Debian, Fedora आणि CentOS वर यशस्वीरित्या चाचणी केली, परंतु इतर वितरणांवर देखील वापरले जाऊ शकते. मूळ शोषण अद्याप सार्वजनिकरित्या उपलब्ध नाही, हे दर्शविते की ते क्षुल्लक आहे आणि इतर संशोधकांद्वारे सहजपणे पुन्हा तयार केले जाऊ शकते, म्हणून बहु-वापरकर्ता सिस्टमवर शक्य तितक्या लवकर हॉटफिक्स अद्यतन स्थापित करणे महत्वाचे आहे.

पोलकिट बीएसडी आणि सोलारिस सिस्टमसाठी देखील उपलब्ध आहे, परंतु शोषणासाठी शोधले गेले नाही. काय माहित आहे की आक्रमण OpenBSD वर केले जाऊ शकत नाही, कारण OpenBSD कर्नल execve() कॉल करताना null argc व्हॅल्यू पास करण्यास परवानगी देत ​​​​नाही.

समस्या मे 2009 पासून आहे जेव्हा pkexec कमांड जोडली गेली. PolKit मधील भेद्यतेचे निराकरण अद्याप पॅच म्हणून उपलब्ध आहे (फिक्स आवृत्ती तयार केली गेली नाही), परंतु वितरणाच्या विकसकांना समस्येबद्दल आगाऊ सूचित केले गेले असल्याने, बहुतेक वितरणांनी त्याच वेळी अद्यतन जारी केले. प्रकटीकरणापेक्षा असुरक्षा माहिती.

शेवटी आपल्याला त्याबद्दल अधिक जाणून घेण्यात स्वारस्य असल्यास, आपण तपशील तपासू शकता खालील दुवा.


आपली टिप्पणी द्या

आपला ई-मेल पत्ता प्रकाशित केला जाणार नाही. आवश्यक फील्ड चिन्हांकित केले आहेत *

*

*

  1. डेटा जबाबदार: मिगुएल Áन्गल गॅटन
  2. डेटाचा उद्देशः नियंत्रण स्पॅम, टिप्पणी व्यवस्थापन.
  3. कायदे: आपली संमती
  4. डेटा संप्रेषण: कायदेशीर बंधन वगळता डेटा तृतीय पक्षास कळविला जाणार नाही.
  5. डेटा संग्रहण: ओकेन्टस नेटवर्क (EU) द्वारा होस्ट केलेला डेटाबेस
  6. अधिकारः कोणत्याही वेळी आपण आपली माहिती मर्यादित, पुनर्प्राप्त आणि हटवू शकता.