رفتن به محتوای اصلی
ثبت گزارش
ثبت گزارش
1399-01-04 20:18
تنظیم اندازه قلم

پ

1:21
کد خبر: 140100

کاربران غیرمجاز لینوکس با استفاده از UID بیشتر INT_MAX می‌تواند هر دستوری را اجرا کنند

به لطف آسیب‌پذیری که اخیرا کشف گردیده، مشخص شده است یک حساب کاربری کم ارزش در اکثر سیستم‌عامل‌های لینوکس با ارزش UID  بیشتر از 2147483647 می‌تواند هر دستور سیستمی  را به صورت غیر مجاز اجرا کند.

آسیب‌پذیری گزارش شده با نام PolicyKit (همچنین به عنوان polkit نیزشناخته می‌شود)، یک ابزار کاربردی برای سیستم‌عامل‌های یونیکس است که سیاست‌ها را تعریف کرده، دسترسی به تمام قسمت‌های سیستم را مدیریت و راه را برای فرایندهای بدون ارزش برای برقراری ارتباط با موارد مهمی مانند sudo باز می‌کند، همچنین اجازه دسترسی ریشه به یک فرایند کامل را فراهم می‌کند.

linux-policykit2.jpg

این مسئله که به عنوان CVE-2018-19788 شناخته می‌شود. خطا PolicyKit نسخه0.115،  نسخه‌های محبوب لینوکس از جمله Red Hat ،Debian وUbuntu و CentOS را تحت تاثیر قرار می‌دهد.

linux-policykit6.jpg

این آسیب‌پذیری به دلیل اعتبار کم PolicyKit از درخواست‌های مجوز برای هر کاربر کم ارزش با UID بیشتر از INT_MAX پیش می‌آید.

INT_MAX یک ثابت در برنامه‌نویسی کامپیوتر است که مشخص می‌کند حداکثر یک متغیر صحیح می‌تواند چه مقدار باشد، این عدد برابر با است با 2147483647  (که در مبنای هگز(ششم) برابر است با 0x7FFFFFFF ).

به این معنی که اگر شما یک حساب‌کاربری در سیستم‌های لینوکس با هر مقدار UID بیشتر از مقدار INT_MAX ایجاد کنید، مولفه PolicyKit به شما این امکان را می‌دهد تا هر دستور سیستمی را با موفقیت اجرا نمایید.

محقق امنیتی ریچ‌میرچ در توییتر خود با نام 0xm1rch نیز یک معیار ثابت را برای نشان دادن آسیب‌پذیری مورد نیاز برای کاربر با UID برابر با 4000000000 نشان داده است.

Red Hat به  مدیران سیستم توصیه کرده است تا به هیچ UID کمتر و یا بیش از 2147483646 اجازه کار ندهند تا مشکل را با انتشار پچ حل کنند.

مترجم:امیرحسین افکاری

کلمات کلیدی :

افزودن دیدگاه جدید

700X100.gif

اخبار مرتبط