این #آسیبپذیری با شناسه CVE-2019-14287به کاربران لینوکس (حتی کاربرانی با دسترسی محدود) امکان اجرای دستور با دسترسی root میدهد. مهاجم با قرار دادن "1-" یا "4294967295"بعنوان شناسه کاربری (user ID) میتواند از این آسیب پذیری استفاده کند.
این آسیبپذیری دور زدن سیاست امنیتی sudo است که به مهاجم یا هر برنامهای (علیرغم عدم صدور مجوز دسترسی root در"sudoers configuration") اجازهی اجرای دستور دلخواه بعنوان کاربر root میدهد.
اگرچه جداسازی سطوح دسترسی یکی از اساسیترین اصول امنیتی در سیستم عامل لینوکس است ولی کاربران administratorهمچنان میتوانند با ویرایش فایل sudoersتعیین کنند که هر کاربر مجاز به اجرای چه دستوراتی است. پس اگر کاربری با دسترسی rootمحدود به اجرای تعداد خاصی دستور شده باشد با استفاده از این آسیبپذیری می تواند همهی دستورات را بدون محدودیت اجرا کند.
برای عملیاتی کردن آسیبپذیری کاربر باید اجازه اجرای دستورات با مجوز sudoبا شناسه کاربری (user ID) دلخواه را داشته باشد. بطور مثال در CentOS 7 با انجام مراحل زیر میتوان آسیبپذیری را عملیاتی کرد:
- ایجاد یک کاربر با نام دلخواه testو تنظیم پسورد برای این کاربر
- ویرایش فایل sudoersو اضافه کردن عبارت test ALL=(ALL, !root)ALLبه انتهای آن
- تغییر کاربر فعلی به testو اجرای دستور sudo –u#-1
دلیل این آسیبپذیری نحوهی پیادهسازی تابعی است که شناسه کاربری را به نام کاربری تبدیل میکند و به اشتباه 1- برمیگرداند و یا 4294967295 که معادل صفر و شناسه کاربری root است.
این آسیبپذیری همهی نسخههای sudo را بجز جدیدترین نسخه آن یعنی 1.8.28تحت تاثیر قرار میدهد.
- 14