پاکسازی هسته لینوکس از کدهای تغییر رفتار برای فرآیندهایی که با X شروع می شوند

Jason A. Donenfeld، نویسنده VPN WireGuard، توجه توسعه دهندگان را به یک هک کثیف موجود در کد هسته لینوکس جلب کرد که رفتار فرآیندهایی را که نام آنها با کاراکتر "X" شروع می شود، تغییر می دهد. در نگاه اول، چنین اصلاحاتی معمولاً در روت‌کیت‌ها استفاده می‌شوند تا یک حفره پنهان در اتصال فرآیند ایجاد کنند، اما تجزیه و تحلیل نشان داد که این تغییر در سال 2019 برای رفع موقت نقض سازگاری فضای کاربران پاپ‌آپ اضافه شد، مطابق با این اصل که تغییرات در هسته نباید سازگاری با برنامه ها را خراب کند.

هنگام تلاش برای استفاده از مکانیسم تغییر اتمی حالت ویدئو در درایور DDX xf86-video-modesetting مورد استفاده در سرور X.Org، مشکلاتی به وجود آمد که به دلیل اتصال به فرآیندهایی بود که با کاراکتر "X" شروع می شد (فرض می شد. که راه حل برای فرآیند "Xorg" اعمال شد). تقریباً بلافاصله مشکل در X.Org برطرف شد (استفاده از API اتمی به طور پیش‌فرض غیرفعال بود)، اما آنها فراموش کردند که اصلاح موقت را از هسته حذف کنند و تلاشی برای ارسال ioctl برای تغییر اتمی حالت برای همه فرآیندهایی که با شروع می‌شوند، انجام دهند. کاراکتر "X" همچنان منجر به بازگشت یک خطا می شود. if (current->comm[0] == 'X' && req->value == 1) { pr_info("فضای کاربران حالت اتمی شکسته شناسایی شد، atomic را غیرفعال می کند\n"); بازگشت -EOPNOTSUPP; }

منبع: opennet.ru

اضافه کردن نظر