پژوهشگران امنیتی یک اکسپلویت (Exploit) کامل و عملیاتی برای یک آسیبپذیری RCE (اجرای کد از راه دور) در نسخه لینوکس نرمافزار AnyDesk منتشر کردهاند. این نقص امنیتی به مهاجم اجازه میدهد پیش از هرگونه تأیید اتصال توسط کاربر، دسترسی سطح Root را به دست آورد.
جزئیات فنی و مکانیسم حمله
این اکسپلویت که AnyPwn نامیده شده است، یک Heap Buffer Overflow را در پروتکل نشست (Session Protocol) این ابزار ریموت دسکتاپ هدف قرار میدهد. تحلیلها نشان میدهد که این آسیبپذیری در نحوه مدیریت بستههای استریم mode-5 رخ میدهد؛ جایی که هندلر مربوطه، اندازه تخصیص حافظه را با افزودن یک هدر ۱۶ بایتی به طول Payload اعلام شده محاسبه میکند. به دلیل استفاده از محاسبات ۳۲ بیتی بدون بررسی سرریز (Overflow Checking)، مهاجم میتواند با اعلام طول Payload برابر با 0xFFFFFFF0، باعث شود نتیجه محاسبات به صفر Wrap شده و یک بافر بسیار کوچک تخصیص یابد، در حالی که مقدار طول اصلی بزرگ باقی بماند. این امر منجر به نوشتن دادههای مهاجم خارج از محدوده حافظه تخصیص یافته میشود.
در نهایت، این سرریز باعث تخریب فیلدها در اشیاء مجاور Heap شده و با استفاده از یک زنجیره ROP (Return-Oriented Programming)، اجرای دستورات دلخواه با دسترسی Root میسر میگردد.
محدودیتها و شرایط بهرهبرداری
- پروتکل اتصال: این اکسپلویت در حال حاضر تنها روی اتصالات مستقیم TCP در پورت 7070 عمل میکند.
- احتمال موفقیت: حمله به صورت احتمالی (Probabilistic) است؛ یعنی چیدمان Heap باید به گونهای باشد که شیء هدف در مجاورت بافر سرریز شده قرار گیرد، در غیر این صورت سرویس دچار Crash میشود.
- نسخههای هدف: این کد به طور خاص برای نسخه 8.0.2 لینوکس طراحی شده است، هرچند احتمال وجود این نقص در نسخههای قدیمیتر (مانند 8.0.1) وجود دارد.
پاسخ سازنده و اقدامات اصلاحی
شرکت AnyDesk این نقص را در نسخه 8.0.3 در ماه ژوئن اصلاح کرد، اما در یادداشتهای تغییرات (Changelog) آن را تنها به عنوان «رفع باگی که منجر به Crash میشد» توصیف کرد و هیچ CVE یا هشدار امنیتی رسمی برای آن صادر نکرد. همچنین گزارش شده است که این شرکت پس از انتشار ویدئوی اثبات مفهوم (PoC)، نسخه 8.0.2 را از صفحه دانلودهای خود حذف کرده است.
به مدیران سیستم توصیه میشود هرچه سریعتر AnyDesk Linux را به نسخه 8.0.3 یا نسخههای جدیدتر (مانند 8.1.0) بهروزرسانی کنند. در صورتی که بهروزرسانی فوری امکانپذیر نیست، محدود کردن دسترسی به پورت TCP 7070 میتواند سطح معرض بودن (Exposure) سیستمها را کاهش دهد.