به گزارش مرکز مدیریت راهبردی افتا، کارشناسان امنیت مایکروسافت در گزارشی به این دسته از مشکلات اشاره و خاطرنشان کردند که ترکیب آسیبپذیریهای یادشده، امکان دسترسی به سطح root را در یک سیستم عامل لینوکس میسر میسازد.
چالش امنیتی Nimbuspwn که با شناسههای آسیبپذیری CVE-2022-29799 و CVE-2022-29800 معرفی میشوند، درnetworkd-dispatcher، شناسایی میشود، مؤلفهای که تغییرات وضعیت اتصال را در ماشینهای لینوکس ارسال میکند.
کشف این دسته از آسیبپذیریها با گوشدادن به پیامها در گذرگاه سیستم آغاز شد و محققان را بر آن داشت تا جریان کد را برای networkd-dispatcher بررسی کنند.
کارشناسان امنیت در این گزارش توضیح دادهاند که نقصهای امنیتی Nimbuspwn به مسائل مربوط به پیمایش دایرکتوری، race Symlink و زمان بررسی به زمان استفاده (Time-of-check-Time-of-use یا TOCTOU) اشاره دارد.

یکی از نتایج بدست آمده، آن بود که networkd-dispatcher در زمان بوت با دسترسیهای ریشه در سیستم اجرا شدهاست.
از روشی به نام "run_hooks_for_state" برای کشف و اجرای اسکریپتها، بسته به وضعیت شبکه شناسایی شده استفاده میشود.
منطق پیادهسازی شده توسط "_run_hooks_for_state" شامل بازگرداندن فایلهای اسکریپت اجرایی متعلق به کاربر root و گروه root است که در دایرکتوری "/etc/networkd-dispatcher/.d" هستند. همچنین هر اسکریپت در این مسیر با استفاده از فرآیندی به نام subprocess.Popen اجرا میشود.

طبق گزارش مایکروسافت "_run_hooks_for_state" دارای چندین مشکل امنیتی است:
1- آسیبپذیری پیمایش دایرکتوری (CVE-2022-29799): هیچ یک از توابع موجود در جربان فرآیند sanitize، حالت عملیاتی یا حالت مدیریتی را پاکسازی نمیکند. چندین حالت برای ساخت مسیر اسکریپت استفاده میشوند، بنابراین یک حالت میتواند حاوی الگوهای پیمایش دایرکتوری باشد (مانند "../../") تا در دایرکتوری پایه "/etc/networkd-dispatcher" قرار نگیرد.
2- Symlink race: هم شناسایی script و هم subprocess.Popeها، لینکهای نمادین را دنبال میکنند.
3- Time-of-check-time-of-use (TOCTOU): بین کشف اسکریپتها و اجرا شدن آنها زمان مشخصی وجود دارد.
یک مهاجم میتواند از این آسیبپذیری با شناسه (CVE-2022-2980) برای جایگزینی اسکریپتهایی که networkd-dispatcher متعلق به root هستند، نسبت به اسکریپتهایی که متعلق به آنها نیستند، سوءاستفاده کند.
مهاجم با دسترسیهای کم در سیستم میتواند آسیبپذیریهای بالا را باهم ادغام کند تا با ارسال یک سیگنال دلخواه، دسترسیهای سطح root بدست آمده را گسترش دهد.
نمای کلی از مراحل برای بهرهبرداری موفق در تصویر زیر نشاندادهشده است که سه دسته از حمله را نشان میدهد و موفق بودن فرآیند TOCTOU مستلزم درج چندین فایل است.

نمایش نمودار جریان حمله و طبقه بندی آن به سه دسته
استفاده موفقیتآمیز Nimbuspwn زمانی امکانپذیر است که کد اکسپلویت بتواند یک نام گذرگاه تحت عنوان یک سرویس یا فرآیند ممتاز داشته باشد.
محیطهای زیادی نظیر Linux Mint وجود دارند که در آن سرویس systemd-networkd به طور پیشفرض در بوت سیستم شروع نمیشود. علاوه بر این فرآیندهای در حال اجرا بهعنوان کاربر شبکه سیستم شناسایی شد، که کد دلخواه را از مکانهای قابل نوشتن اجرا میکرد؛ بهعنوانمثال،
چندین پلاگین gpgv (هنگام نصب یا ارتقاء با کمک دستور apt-get راهاندازی شده است)،Erlang Port Mapper Daemon (epmd) که امکان اجرای کد دلخواه را بر مبنای برخی از سناریوها فراهم میکند.
لازم به ذکر است برای رفع آسیبپذیریهای Nimbuspwn، بهروزرسانیهای لازم را ماژول networkd-dispatcher، به کار گرفته است.
به کاربران سیستم عامل لینوکس توصیه میشود بهمحض در دسترس قرارگرفتن اصلاحات برای سیستمعامل خود، سیستمهای خود را هرچه سریعتر وصله کنند.
منابع:
https://www.bleepingcomputer.com/news/security/new-nimbuspwn-linux-vulnerability-gives-hackers-root-privileges/
https://www.microsoft.com/security/blog/2022/04/26/microsoft-finds-new-elevation-of-privilege-linux-vulnerability-nimbuspwn/