ابزار needrestart که در بسیاری از توزیعهای لینوکس برای بررسی نیاز به راهاندازی مجدد سرویسها پس از بهروزرسانی کتابخانهها استفاده میشود، اخیراً با آسیبپذیری بحرانی CVE-2024-48990 مواجه شده است. این آسیبپذیری به مهاجمان محلی امکان میدهد تا با سوءاستفاده از متغیر محیطی PYTHONPATH، کد دلخواه خود را با دسترسی root اجرا کنند.
شناسه آسیبپذیری: CVE-2024-48990
تأثیر: اجرای کد دلخواه با دسترسی root توسط مهاجم محلی
نسخههای آسیبپذیر: نسخههای قبل از ۳.۸ ابزار
بردار حمله: محلی (نیاز به دسترسی فیزیکی یا از راه دور با دسترسی محدود)
امتیاز CVSS: ۷.۸ از ۱۰ (سطح خطر بالا)
این آسیبپذیری به دلیل عدم بررسی مناسب متغیر محیطی PYTHONPATH در هنگام اجرای مفسر پایتون توسط needrestart رخ میدهد. مهاجم میتواند با تنظیم این متغیر به مسیر دلخواه، کد مخرب خود را بهعنوان کتابخانه پایتون بارگذاری کرده و با دسترسی root اجرا کند.
مخزن GitHub به آدرس makuga01/CVE-2024-48990-PoC یک اثبات مفهومی برای این آسیبپذیری ارائه داده است. این PoC شامل اسکریپتهایی است که با اجرای آنها، یک کتابخانه پایتون مخرب ساخته شده و منتظر اجرای needrestart توسط کاربر root میماند. پس از اجرا، مهاجم به یک shell با دسترسی root دست مییابد.
بهروزرسانی ابزار needrestart: اطمینان حاصل کنید که از نسخه ۳.۸ یا جدیدتر استفاده میکنید.
محدودسازی دسترسیها: دسترسی کاربران با سطح دسترسی محدود به متغیرهای محیطی حساس مانند PYTHONPATH را کنترل و محدود کنید.
نظارت بر سیستم: فعالیتهای مشکوک و اجرای غیرمجاز کدها را بهصورت مستمر پایش کنید.
آموزش کاربران: کاربران را نسبت به خطرات استفاده از ابزارهای سیستمی و اهمیت بهروزرسانی آنها آگاه سازید.
دیدگاهتان را بنویسید