Needrestartآسیب‌پذیری‌های امنیتی قدیمی در بسته needrestart که به‌طور پیش‌فرض در سرور اوبونتو نصب ‌شده است (از نسخه ۲۱٫۰۴) فاش شده است که می‌تواند به مهاجم محلی اجازه دهد بدون نیاز به تعامل کاربر، امتیازات ریشه را به دست آورد.

واحد تحقیقات Qualys Threat (TRU) که ​​در اوایل ماه گذشته این نقص‌ها را شناسایی و گزارش کرد[۱]، گفت که بهره‌برداری از آن‌ها ساده است و لازم است کاربران به‌سرعت برای اعمال اصلاحات حرکت کنند. اعتقاد بر این است که این آسیب‌پذیری‌ها از زمان معرفی پشتیبانی مترجم در needrestart 0.8 که در ۲۷ آوریل ۲۰۱۴ منتشر شد[۲]، وجود داشته است.

اوبونتو در گزارشی با اشاره به اینکه در نسخه ۳٫۸ به آن‌ها پرداخته شده است، گفت[۳]: “این بهره‌بردارهای needrestart اجازه Local Privilege Escalation یا LPE را می‌دهند که به این معنی است که یک مهاجم محلی می‌تواند امتیازات ریشه را به دست آورد. این آسیب‌پذیری‌ها Debian، اوبونتو و سایر توزیع‌های لینوکس را تحت تأثیر قرار می‌دهند.”

Needrestart ابزاری است که سیستم را اسکن می‌کند تا خدماتی را که باید پس از اعمال به‌روزرسانی‌های کتابخانه مشترک راه‌اندازی مجدد شوند، مشخص کند، به‌نحوی‌که از راه‌اندازی مجدد کامل سیستم جلوگیری شود.

این پنج نقص در زیر آورده شده‌اند:

CVE-2024-48990 (امتیاز ۷٫۸ در CVSS) – آسیب‌پذیری که به مهاجمان محلی اجازه می‌دهد تا کد دلخواه را به‌عنوان ریشه با فریب دادن needrestart برای اجرای مفسر پایتون با متغیر محیطی PYTHONPATH تحت کنترل مهاجم اجرا کنند.

CVE-2024-48991 (امتیاز ۷٫۸ در CVSS) – آسیب‌پذیری که به مهاجمان محلی اجازه می‌دهد با برنده شدن در شرایط مسابقه، کد دلخواه خود را به‌عنوان ریشه اجرا کنند و با فریب دادن needrestart به اجرای مفسر پایتون جعلی خود، کد دلخواه خود را به‌عنوان ریشه اجرا کنند.

CVE-2024-48992 (امتیاز ۷٫۸ در CVSS) – آسیب‌پذیری که به مهاجمان محلی اجازه می‌دهد تا کد دلخواه را به‌عنوان روت با فریب دادن needrestart برای اجرای مفسر Ruby با متغیر محیطی RUBYLIB که توسط مهاجم کنترل می‌شود، اجرا کنند.

CVE-2024-11003 (امتیاز ۷٫۸ در CVSS) و CVE-2024-10224 (امتیاز ۵٫۳ در CVSS) – دو آسیب‌پذیری که به مهاجم محلی اجازه می‌دهد تا با استفاده از یک مشکل در libmodule-scandeps- دستورات پوسته دلخواه را به‌عنوان ریشه اجرا کند. بسته libmodule-scandeps-perl (قبل از نسخه ۱٫۳۶)

بهره‌برداری موفقیت‌آمیز از آسیب‌پذیری‌های ذکرشده می‌تواند به مهاجم محلی اجازه دهد تا متغیرهای محیطی ساخته‌شده ویژه‌ای را برای PYTHONPATH یا RUBYLIB تنظیم کند که می‌تواند منجر به اجرای کد دلخواه با اشاره به محیط عامل تهدید در هنگام اجرای نیاز به راه‌اندازی شود.

اوبونتو اشاره کرد: «در CVE-2024-10224، ورودی کنترل‌شده توسط مهاجم می‌تواند باعث شود که ماژول Module::ScanDeps Perl دستورات پوسته دلخواه را با باز کردن یک pesky pipe (مانند ارسال commands| به‌عنوان یک نام فایل یا با ارسال رشته‌های دلخواه به eval() اجرا کند).»

“این به‌خودی‌خود برای افزایش امتیاز محلی کافی نیست. بااین‌حال، در CVE-2024-11003 needrestart ورودی کنترل‌شده توسط مهاجم (نام فایل‌ها) را به Module::ScanDeps ارسال می‌کند و CVE-2024-10224 را با امتیاز ریشه فعال می‌کند. رفع مشکل برای CVE-2024-11003 وابستگی needrestart را در ماژول ScanDeps حذف می‌کند.”

درحالی‌که توصیه می‌شود جدیدترین وصله‌ها را دانلود کنید، اوبونتو گفت که کاربران می‌توانند اسکنرهای مفسر را در هنگام نیاز به راه‌اندازی مجدد فایل پیکربندی به‌عنوان کاهش موقتی غیرفعال کنند و اطمینان حاصل کنند که این تغییرات پس از اعمال به‌روزرسانی‌ها بازگردانده می‌شوند.

سعید عباسی، مدیر محصول TRU در Qualys می‌گوید: «این آسیب‌پذیری‌ها در ابزار needrestart به کاربران محلی اجازه می‌دهد تا امتیازات خود را با اجرای کد دلخواه در حین نصب یا ارتقاء بسته‌ها افزایش دهند، جایی که needrestart اغلب به‌عنوان کاربر اصلی اجرا می‌شود».

مهاجمی که از این آسیب‌پذیری‌ها بهره‌برداری می‌کند، می‌تواند دسترسی ریشه داشته باشد و یکپارچگی و امنیت سیستم را به خطر بیندازد.»

منابع

[۱] https://blog.qualys.com/vulnerabilities-threat-research/2024/11/19/qualys-tru-uncovers-five-local-privilege-escalation-vulnerabilities-in-needrestart

[۲] https://github.com/liske/needrestart/releases/tag/v0.8

[۳] https://ubuntu.com/blog/needrestart-local-privilege-escalation

[۴] https://thehackernews.com/2024/11/decades-old-security-vulnerabilities.html