io_uring मधील असुरक्षा वापरकर्त्याला परवानगीशिवाय कंटेनरमध्ये देखील रूट होऊ देते

अलीकडे भेद्यता माहिती उघड केली (CVE-2022-29582) io_uring असिंक्रोनस I/O इंटरफेसच्या अंमलबजावणीमध्ये, आवृत्ती 5.1 पासून लिनक्स कर्नलमध्ये समाविष्ट केले आहे, जे कंटेनर शोषण कार्यान्वित करत असताना देखील, विशेषाधिकार नसलेल्या वापरकर्त्यास सिस्टमवर रूट बनण्यास अनुमती देते.

हे उल्लेखनीय आहे सांगितले की असुरक्षा फक्त 3 महिन्यांपूर्वी नोंदवली गेली होती (अंदाजे या वर्षी मे महिन्याच्या सुरुवातीला), परंतु संपूर्ण माहिती आणि प्रकटीकरण नुकतेच प्रसिद्ध झाले.

असुरक्षिततेबाबत असे नमूद केले आहे की हे आधीपासून मुक्त केलेल्या मेमरी ब्लॉकमध्ये प्रवेश करताना उद्भवते, 5.10 शाखेपासून सुरू होणाऱ्या Linux कर्नलमध्ये प्रकट होते.

असुरक्षा सीव्हीई-2022-29582 बद्दल

ही असुरक्षितता मोकळ्या मेमरीमध्ये प्रवेश करण्यास अनुमती देते io_flush_timeouts() फंक्शनमध्ये कालबाह्यता हाताळताना शर्यतीच्या स्थितीचा परिणाम म्हणून, जेe कालबाह्य एंट्री काढून टाकते सूचीमधून आणि त्या वेळी कालबाह्यतेची निर्मिती आणि हटविण्याची पडताळणी न करता ते रद्द करते.

io_uring चे अद्ययावत सामान्य वर्णन इतरांद्वारे आधीच प्रदान केले गेले आहे. ते आपल्यापेक्षा हजार पटीने चांगले समजावून सांगतात, म्हणून आम्ही फक्त उपप्रणाली अधिक विस्तृतपणे कव्हर करू (हा ग्रॅपल सिक्युरिटी लेख आणि हा फ्लॅट सिक्युरिटी लेख उत्तम परिचयासाठी पहा).

काय जास्त महत्वाचे आहे, opcode फील्ड कोणत्या प्रकारचे ऑपरेशन करायचे ते ठरवते. आवश्यक असलेल्या प्रत्येक "opcode" साठी, fd फील्ड फाइल वर्णनकर्ता निर्दिष्ट करते ज्यावर विनंती केलेला I/O कार्यान्वित करायचा आहे. जवळजवळ सर्व सामान्य I/O सिस्टम कॉल्समध्ये (वाचणे, पाठवणे इ.) समतुल्य असिंक्रोनस ऑपकोड असतो. प्रत्येक फील्ड ऑपरेशनवर अवलंबून भिन्न भूमिका घेऊ शकते.

एकदा SQ वरून पुनर्प्राप्त केल्यानंतर, SQE struct io_kiocb (कर्नल इनपुट/आउटपुट कॉल बॅक) द्वारे वर्णन केलेल्या अंतर्गत प्रतिनिधित्वामध्ये रूपांतरित केले जाते. या वस्तू सामान्यतः विनंत्या म्हणून ओळखल्या जातात.

struct io_kiocb हे SQE "रेडी-फॉर-लाँच" च्या समतुल्य म्हणून वापरले जाते ज्यावर ते आधारित आहे, ज्याद्वारे कोणत्याही फाईल डिस्क्रिप्टरला फाइल* ची रचना करण्यासाठी निराकरण केले जाते, वापरकर्ता क्रेडेन्शियल्स संलग्न केले जातात, व्यक्तिमत्व (ज्यामध्ये कोर चालतील) इ. .

विनंती केलेले ऑपरेशन पूर्ण झाल्यानंतर, ते पूर्ण होण्याच्या रांगेत लिहिले जाते (CQ) एक प्रविष्टी जी SQE शी संबंधित आहे. अशा एंट्रीला कम्प्लीशन क्यू एंट्री (CQE) म्हणतात आणि त्यात एरर कोड आणि परिणाम मूल्य यासारखी फील्ड असतात. पाठवलेल्या SQE ने प्रक्रिया पूर्ण केली आहे की नाही आणि त्यांचा परिणाम काय आहे हे निर्धारित करण्यासाठी वापरकर्ता स्पेस ऍप्लिकेशन नवीन नोंदींसाठी CQ मतदान करू शकतो.

असा उल्लेख आहे अशी काही परिस्थिती आहेत ज्यात एखादी वस्तू बदलणे सोपे आहे प्रगती वर. परंतु दोन मर्यादा आहेत:

  • LT' नियुक्त करणे आणि रेस विंडोमध्ये प्रारंभ करणे आवश्यक आहे. म्हणजेच, LT रिलीझ झाल्यानंतर परंतु LT मधील एका बिंदूवर पोहोचण्यापूर्वी ज्यामध्ये यापुढे प्रवेश नाही.
  • LT' हा फक्त दुसरा struct io_kiocb ऑब्जेक्ट असू शकतो. ढीग पृथक्करणामुळे, जेथे ढीगमधील वस्तू त्यांच्या प्रकारानुसार विभक्त केल्या जातात, त्यांना रेस विंडोमध्ये वेगळ्या प्रकारचे ऑब्जेक्ट म्हणून पुन्हा नियुक्त करणे खूप कठीण आहे.

संशोधकांनी एक कार्यात्मक शोषण तयार केले आहे ज्याला त्याच्या ऑपरेशनसाठी वापरकर्ता आयडेंटिफायर नेमस्पेसेस (वापरकर्ता नेमस्पेसेस) समाविष्ट करण्याची आवश्यकता नाही आणि जेव्हा एक अनोळखी वापरकर्ता वेगळ्या कंटेनरमध्ये शोषण सुरू करतो तेव्हा होस्टला रूट प्रवेश प्रदान करू शकतो.

आमचे शोषण लक्ष्य कर्नल आवृत्ती 5.10.90, Google ही आवृत्ती त्या वेळी दूरस्थपणे चालत होती. आम्हाला आमचे शोषण सर्व्हरच्या विशिष्ट वैशिष्ट्यांमध्ये समायोजित करावे लागले (4 Skylake Xeon cores @ 2.80Ghz, 16GiB RAM), परंतु काही ट्वीकिंगसह, असुरक्षित कर्नल चालवणारी कोणतीही मशीन शोषण करण्यायोग्य असावी.

शोषण nsjail वातावरणात देखील कार्य करते Chromium OS वर आधारित Google COS (कंटेनर ऑप्टिमाइझ्ड OS) वितरणावर वेगळे केले जाते आणि संगणकीय इंजिन व्हर्च्युअल मशीनवर Google क्लाउड प्लॅटफॉर्मवर वापरले जाते. शोषण 5.10 ते 5.12 पर्यंत कर्नल शाखांसह कार्य करण्यासाठी डिझाइन केले आहे. शेवटी, हे नमूद करण्यासारखे आहे 5.10.111, 5.15.34 आणि 5.17.3 अद्यतनांमध्ये एप्रिलमध्ये समस्येचे निराकरण करण्यात आले.

शेवटी, तुम्हाला भेद्यतेबद्दल अधिक जाणून घेण्यात स्वारस्य असल्यास, तुम्ही केलेल्या प्रकाशनाचा सल्ला घेऊ शकता पुढील लिंकवर


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

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

*

*

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