اخیرا یک آسیبپذیری DLL hijacking در Notepad++ نسخه ی 8.8.3 شناسایی شده است که به مهاجم اجازه میدهد با جایگزینی یک DLL مشروع، اجرای کد دلخواه را روی سیستم قربانی بهدست آورد و PoC آن در دسترس قرار گرفته است.
۱. آسیبپذیری DLL چیست و چگونه کار میکند؟
در حملات «DLL hijacking» یا «binary planting» برنامه هنگام بارگذاری DLLها از مسیرهای محلی یا وابسته، به ترتیب جستجوی ویندوز اعتماد میکند. اگر مهاجم بتواند یک DLL با همان نام که برنامه آن را بارگذاری میکند در مسیری قرار دهد که قبل از نسخهی امن قرار میگیرد، کد مهاجم هنگام اجرای برنامه اجرا میشود. برای Notepad++ نسخهی 8.8.3 گزارش شده که امکان جایگزینی DLLهای مشخص وجود دارد و این مسیر میتواند منجر به اجرای کد دلخواه شود
(نکتهیفنی: مهاجم معمولاً نیاز دارد فایل مخرب را در پوشهای قرار دهد که Notepad++ از آن DLL را بارگذاری میکند؛ مثالهای عملی و PoC در GitHub منتشر شدهاند).
۲. گسترهی تاثیر و شدت
براساس رکورد رسمی NVD، این مشکل در Notepad++ v8.8.3 وجود دارد و امکان اجرای کد از راه دور (هر زمان که برنامه اجرا شود) را فراهم میکند. بهعبارتی، کاربری که Notepad++ را باز کند بدون دانستن آن ممکن است بدافزار را اجرا کند. منابع تحلیل آسیبپذیری و سرویسهای امنیتی (مثل Tenable) نیز CVE-2025-56383 را ثبت و شرح دادهاند.
همچنین شایان ذکر است که در سالهای اخیر نمونههای مشابهی از مشکلات DLL hijacking و installer binary planting در Notepad++ رخ داده (مثلاً CVE-2025-49144 که مربوط به installer و privilege escalation بود)، بنابراین رفتار وابسته به مسیرهای اجرایی و بارگذاری DLL در این محصول سابقهدار است. این تاریخچه نشان میدهد محافظت از مسیرهای دانلود و اطمینان از اصالت فایلها برای کاربران حیاتی است.
۳. چطور مهاجم از این ضعف سوءاستفاده میکند؟ (سناریوی ساده)
- مهاجم قربانی را فریب میدهد تا یک بسته یا فایل همراه DLL مخرب را در پوشهای (مثلاً Downloads) قرار دهد.
- کاربر یا سیستمعامل Notepad++ را اجرا میکند.
- Notepad++ DLL مخرب را بارگذاری میکند و کد مهاجم در کانتکست کاربر اجرا میشود (در شرایط installer ممکن است حتی privilege escalation اتفاق بیفتد).
این سناریو میتواند از طریق ایمیل فیشینگ، دانلود همراه با بسته ی مشروع یا انتشار در شبکه ی اشتراکفایل رخ دهد.
۴. اقدامهای فوری (برای مدیران سیستم و کاربران)
این بخش را فهرستی و عملی نگه داشتهام تا تیمهای IT سریعاً اجرا کنند.
- بهروزرسانی فوری: اگر Notepad++ بهروزرسانی ویژهای برای این CVE منتشر کرده است، آن را نصب کنید. در صورتی که نسخهی امن هنوز منتشر نشده، به بخش «موقت» توجه کنید. (منبع NVD ثبت CVE را تایید میکند).
- محدود کردن دسترسی به پوشههای حساس: تنظیمات گروهی (GPO) برای جلوگیری از اجرای باینریها از پوشهی Downloads یا پوشههای کاربر را فعال کنید.
- File Integrity Monitoring : پوشهی نصب Notepad++ و پوشهی پلاگینها را تحت نظارت FIM قرار دهید تا هر تغییر فایل DLL بلافاصله هشدار داده شود.
- Policy کنترل اجرای برنامه (Application Control / AppLocker) : اجرای اجراییها و DLLها را براساس امضا/مسیر محدود کنید.
- آموزش کاربران: کاربران را از دریافت فایلهای پیوست ناشناس یا دانلود از منابع نامعتبر برحذر دارید.
- اسکنهای آنتیویروس/ EDR : ابزارهای EDR را برای شناسایی رفتار بارگذاری DLLهای ناشناخته پیکربندی کنید. همچنین جستجو برای فایلهای DLL جدید در پوشه ی برنامه.
- تحلیل PoC : تیم رویت تهدید (Threat Intel / Red Team) میتواند PoC موجود در GitHub را در محیط ایزوله اجرا و سیگنیچرهای لازم را استخراج کند تا تشخیص بهتری داشته باشید.
۵. تشخیص (Indicators of Compromise & Hunting Queries)
- جستجوی فایلهای DLL با نامهای مشکوک در کنار فایل notepad++.exe یا در مسیرهای غیرمعمول.
- لاگهای اجرای فرآیند: فراخوانی DLLهای جدید توسط notepad++.exe.
- هشدارهای FIM مبنی بر اضافه شدن/تغییر DLL در مسیر نصب.
- نمونه ی سادهی query برای EDR/SP : جستجوی فرایند notepad++.exe که ماژول (module) غیرعادی یا دارای hash ناشناخته بارگذاری کرده است.
توصیه: تیمها PoC در GitHub را بررسی کنند تا نام DLLهای مورد اشاره و رفتارهای ثبتشده در README آن را استخراج کنند.
۶. آیا این مشکل با یک بار آپدیت حل میشود؟
بیشتر اوقات توسعهدهندهها با اصلاح ترتیب جستجوی DLL یا با تغییر نحوه ی بارگذاری ماژولها مشکل را رفع میکنند اما رفع کامل نیازمند انتشار پچ رسمی و اطلاعرسانی به کاربران است. تا زمان انتشار پچ، اقدامات موقت بالا (AppLocker, FIM , کنترل مسیر دانلود) توصیه میشوند. منابع رسمی و NVD را برای اطلاع از انتشار پچ دنبال کنید.
۷. نتیجهگیری
DLL hijacking همچنان یکی از روشهای مؤثر برای دستیابی به اجرای کد مخرب است، حتی برای نرمافزارهای شناختهشده و پرکاربرد مانند Notepad++ . سازمانها باید نه تنها بر بهروزرسانی تمرکز کنند، بلکه کنترل مسیرهای اجرا، مانیتورینگ تغییر فایلها و سیاستهای محدودکننده ی اجرا را نیز پیادهسازی کنند تا خطرات ناشی از PoCهای منتشرشده کاهش یابد.