یک آسیبپذیری امنیتی شدید از نوع Heap-based Buffer Overflow در روترهای D-Link مدل DIR-878 (نسخه فریمور 1.20B05) شناسایی شده است. این نقص امنیتی در هندلر HNAP (Home Network Administration Protocol) و بهطور مشخص در فایل bin/prog.cgi رخ میدهد.
تحلیل فنی آسیبپذیری
این مشکل زمانی رخ میدهد که تابع GetCAPTCHAsetting آرگومان uid را بدون اعتبارسنجی مناسب طول دادهها در یک بافر در حافظه Heap مینویسد. یک مهاجم میتواند با ارسال درخواستهای دستکاری شده (Crafted Requests) به رابط HNAP، باعث سرریز شدن بافر شده و حافظه Heap را تخریب کند. با توجه به بردار CVSS، این حمله نیازی به احراز هویت (Authentication) یا تعامل کاربر (User Interaction) ندارد و میتواند منجر به اجرای کد از راه دور (RCE) و کنترل کامل دستگاه شود.
ارزیابی ریسک و وضعیت اکسپلویت
با وجود اینکه امتیاز CVSS این آسیبپذیری 8.9 است، اما چند عامل محدودکننده وجود دارد:
- دسترسی شبکه: مهاجم باید به رابط مدیریت HNAP دسترسی داشته باشد که معمولاً در شبکه داخلی (LAN) است، مگر اینکه مدیریت از راه دور (Remote Management) روی WAN فعال شده باشد.
- وضعیت محصول: مدل DIR-878 در وضعیت End-of-Life (EoL) قرار دارد و دیگر توسط سازنده پشتیبانی نمیشود.
- وضعیت اکسپلویت: یک کد اثبات مفهوم (PoC) در گیتهاب منتشر شده است، اما هنوز به طور رسمی تأیید نشده که منجر به اجرای کد پایدار شود.
راهکارهای مقابله و کاهش ریسک
از آنجایی که این محصول دیگر پشتیبانی نمیشود و هیچ وصله امنیتی (Patch) برای آن منتشر نخواهد شد، اقدامات زیر توصیه میگردد:
- غیرفعالسازی مدیریت راه دور: دسترسی به رابط مدیریت از طریق WAN را فوراً غیرفعال کنید.
- محدودسازی دسترسی: با استفاده از ACLها یا بخشبندی شبکه (Network Segmentation)، دسترسی به پورتهای 80 و 443 و فایل
bin/prog.cgiرا تنها به میزبانهای مورد اعتماد در LAN محدود کنید. - جایگزینی سختافزار: با توجه به وضعیت EoL، تنها راهکار قطعی، جایگزینی این روتر با مدلهای جدیدتر و تحت پشتیبانی است.