The Hacker News Researchers Publish Working Exploit for Pre-Auth AnyDesk Linux Flaw That Gives Root Access

انتشار اکسپلویت پیش از احراز هویت با دسترسی root در AnyDesk Linux

پژوهشگران امنیت یک اکسپلویت کاملاً عملیاتی برای آسیب‌پذیری اجرای کد از راه دور بدون احراز هویت در AnyDesk Linux منتشر کرده‌اند که به مهاجمان پیش از تأیید هرگونه اتصال، دسترسی root می‌دهد.

شرکت AnyDesk این نقص را در نسخه 8.0.3 در ژوئن پچ کرد، اما در changelog خود تنها به این شکل آن را توصیف کرد: «fixed a bug that could lead to a crash». برای این نقص CVE اختصاص نیافته و اطلاعیه امنیتی نیز منتشر نشده است.

این اکسپلویت با نام AnyPwn یک سرریز بافر هیپ را در پروتکل نشست AnyDesk، که یک ابزار remote desktop است، هدف می‌گیرد. کد آن در تاریخ 8 اکتبر در GitHub منتشر شد.

توصیه می‌شود مدیران AnyDesk Linux را دست‌کم به نسخه 8.0.3 به‌روزرسانی کنند. جدیدترین انتشار 8.1.0 است.

آنچه اکسپلویت نشان می‌دهد

اکسپلویت منتشرشده صرفاً روی اتصال‌های مستقیم TCP در پورت 7070 کار می‌کند.

این اکسپلویت احتمالی است: آرایش هیپ باید شیء هدف را در مجاورت بافر سرریز‌شده قرار دهد؛ در غیر این صورت سرویس به‌جای اجرای فرمان مهاجم کرش می‌کند. افست‌های استفاده‌شده در کد منتشرشده یک بیلد مشخص از AnyDesk Linux، نسخه 8.0.2، را هدف می‌گیرند و بیلدهای دیگر به مقادیر متفاوتی نیاز دارند.

به گفته پژوهشگران، همان مسیر کد آسیب‌پذیر از طریق سرورهای relay شرکت AnyDesk نیز قابل دسترسی است؛ نرم‌افزار زمانی که اتصال مستقیم فراهم نیست از این relayها استفاده می‌کند. آنان این موضوع را با یک trigger ابزارگذاری Frida اعتبارسنجی کردند، اما زنجیره کامل اکسپلویت را روی relayها نمایش ندادند.

شرکت AnyDesk در ژوئن اعلام کرد که این آسیب‌پذیری «limited to direct connections on Linux (connections that do not go through our relays). Windows and macOS are not affected.»

این اکسپلویت AnyDesk Linux نسخه 8.0.2 را هدف می‌گیرد. پژوهشگران اشاره می‌کنند که نسخه‌های پیشین مانند 8.0.1 نیز ممکن است همین مسیر کد آسیب‌پذیر را داشته باشند، اما بهره‌برداری از آن نسخه‌ها تأیید نشده است.

پژوهشگران در 22 ژوئن این نقص را اعلام کردند. شرکت AnyDesk روز بعد آن را تأیید کرد و نسخه 8.0.3 را با اصلاح منتشر کرد.

تا تاریخ 9 اکتبر برای این آسیب‌پذیری CVE اختصاص نیافته است. شرکت AnyDesk هنوز اطلاعیه امنیتی رسمی منتشر نکرده است.

صفحه download شرکت AnyDesk دیگر نسخه 8.0.2 را فهرست نمی‌کند، هرچند همچنان در changelog دیده می‌شود. پژوهشگران نوشتند: «به نظر می‌رسد فروشنده همزمان با انتشار ویدیوی poc ما، بیلد 8.0.2 از AnyDesk را حذف کرده است».

مدیران که نمی‌توانند بلافاصله به‌روزرسانی کنند، می‌توانند با محدود کردن دسترسی به پورت TCP 7070 میزان در معرض بودن را کاهش دهند. اینکه آیا این نقص بر بستر اتصال‌های رله هم به‌طور کامل قابل بهره‌برداری است یا نه، هنوز روشن نیست.

نقص چگونه کار می‌کند؟

پروتکل نشست AnyDesk از بسته‌های جریانی ⁦mode-5⁩ استفاده می‌کند. پردازشگر اندازه تخصیص پشتیبان را با افزودن یک سرآیند 16-بایتی به طول اعلام‌شده payload محاسبه می‌کند؛ این محاسبه با حساب 32-بیتی و بدون بررسی Overflow انجام می‌شود.

اکسپلویت طول payload را 0xFFFFFFF0 اعلام می‌کند. با افزودن 0x10، حاصل در حساب 32-بیتی دچار گردش می‌شود و به صفر می‌رسد؛ در نتیجه تخصیص‌دهنده یک بافر بسیار کوچک رزرو می‌کند، در حالی که شیء همان طول بزرگ اولیه را ثبت می‌کند. در این حالت حتی نوشتن یک بایت از داده مهاجم نیز فراتر از انتهای تخصیص می‌نویسد.

این Overflow میدان‌های اشیای مجاور در هیپ را خراب می‌کند و اکسپلویت با یک زنجیره ROP یک فرمان دلخواه را با دسترسی root اجرا می‌کند.

این آسیب‌پذیری توسط Rick de Jager از تیم امنیتی V12 کشف شد. او برای این کار از V12، یک موتور بررسی امنیتی کد، استفاده کرد. بنیان‌گذاران V12 پیش‌تر شرکت امنیتی Zellic را ساختند و تیم هک رقابتی Perfect Blue را رهبری کردند.

یک Overflow بافر هیپ جداگانه در AnyDesk با شناسه ⁦CVE-2025-27918⁩ در نسخه 7.0.0 و در آوریل 2025 برطرف شد. آن آسیب‌پذیری همه پلتفرم‌های AnyDesk را تحت تأثیر قرار می‌داد و ناشی از یک Integer Overflow در پردازش تصویر کاربر بود؛ سازوکاری متفاوت با نقص پروتکل نشست AnyPwn.

شرکت AnyDesk در اوایل 2024 در یک رخداد جداگانه هک شد؛ در آن حادثه سامانه‌های تولیدی شرکت نقض شد و این موضوع به ابطال گواهی‌ها و بازنشانی اجباری گذرواژه‌ها انجامید.

مطالب مرتبط

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

انتخاب مسیریاب

برای مسیریابی یکی از اپلیکیشن های زیر را انتخاب کنید.