آزمایشگاه Rhino Security اعلام کرده است که آسیبپذیری موجود در NVIDIA GeForce Experience (GFE) که بهتازگی وصله شده است، میتواند برای اجرای دستورات دلخواه در سیستمهای آلوده مورد بهرهبرداری قرار گیرد. NVIDIA GFE یک برنامهی همراه نصبشده در کنار درایورهای GeForce است که به کاربران اجازه میدهد تا فیلمها و عکسهای گرفتهشده از صفحه و ویدئوهای زنده را به اشتراک بگذارند و وسیلهای برای بهروز نگه داشتن درایورها و بهینهسازی تنظیمات بازی فراهم میکند.
بهگفتهی دیوید یِسلند، پژوهشگر امنیتی Rhino Security Lab، این آسیبپذیری که با شناسهی CVE-2019-5678 ردیابی میشود، در یک سرور Web Helper محلی که GFE را در استارتاپ راهاندازی میکند، وجود دارد و میتواند با فریب قربانی برای بازدید از یک وبگاه ساختگی و فشردن چند کلید مورد بهرهبرداری قرار گیرد. NVIDIA در یک مشاورهنامه بیان میکند که GFE دارای یک آسیبپذیری در مؤلفهی Web Helper است که در آن یک مهاجم با دسترسی سیستم محلی میتواند ورودیهایی ایجاد کند که ممکن است بهدرستی تأیید نشوند. چنین حملهای ممکن است منجر به اجرای کد، منع سرویس (DoS) یا افشای اطلاعات شود.
هنگام راهاندازی، GFE یک سرور رابط برنامهنویسی محلی راهاندازی میکند تا جنبههای مختلف برنامه و همهی تغییراتی که کاربر از رابط GUI ایجاد میکند، کنترل کند. این سرور تنها درخواستهای تأییدشده را قبول میکند و قابل دور زدن نیست.
با اینحال یِسلند دریافت که ممکن است از یک منبع متفاوت مانند یک وبگاه تحت کنترل مهاجم درخواستهای معتبری برای سرور ایجاد شود. این حمله از طریق یک مرورگر انجام خواهد شد، زیرا سیاست CORS پیادهسازیشده امکان دریافت درخواست از یک منبع را فراهم میکند.
این حمله نیاز به داشتن توکن محرمانه دارد و این درصورتی امکانپذیر است که یک کاربر فریب بخورد و فایل محتوی توکن را بارگذاری کند. اما از آنجا که فایل توکن محرمانه یک مسیر و نام ثابتی دارد، میتوان آن را بهراحتی در مرورگر بهدست آورد و تنها کاری که کاربر باید انجام دهد، فشردن کلیدهای ترکیبی برای تزریق دستور است. این بهرهبرداری به فشردن سه کلید کنترل، V و Enter نیاز دارد که امکان کپی کردن متن دلخواه را فراهم میکند. در فایرفاکس این مرحله به یک کلیک ماوس نیاز خواهد داشت.
این حمله به تعامل با کاربر نیاز دارد، اما کافی است کاربر فریب بخورد و این اقدامات را انجام دهد. به نظر میرسد که مسألهی اصلی این است که رابط برنامهنویسی اجازهی Cross Origin Resource Sharing از هر منبعی را میدهد؛ به این معنا که امکان دارد درصورت به دست آوردن توکن محرمانه به هر روش ممکن، یک درخواست XHR در هر یک از نقطههای پایانی اجرا شود.
NVIDIA با حذف نقطهی نهایی که امکان تزریق فرمان را فراهم میکند، این آسیبپذیری را در آخرین نسخهی GFE رفع کرد. بااینحال سیاست باز CORS تغییر نیافته است و فایل nodejs.json در یک مکان ثابت باقی مانده است، یعنی هنوز هم میتوان از طریق مرورگر با رابط برنامهنویسی تعامل برقرار کرد.
آسیبپذیری امنیتی دیگری که NVIDIA در GFE وصله کرده است در روش بارگذاری نادرست فایلهای DLL سیستم ویندوز بدون اعتبارسنجی مسیر یا امضا وجود دارد که میتواند توسط یک مهاجم با دسترسی سیستم محلی بهمنظور افزایش امتیازات از طریق اجرای کد مورد بهرهبرداری قرار گیرد.