یک تغییر مخرب در بسته node-ipc NPM (CVE-2022-23812) شناسایی شد، با احتمال 25٪ که محتویات همه فایل هایی که دسترسی نوشتن دارند با کاراکتر "❤️" جایگزین شود. کد مخرب تنها زمانی فعال می شود که در سیستم هایی با آدرس IP از روسیه یا بلاروس راه اندازی شود. بسته node-ipc حدود یک میلیون دانلود در هفته دارد و به عنوان یک بسته به 354 بسته از جمله vue-cli استفاده می شود. تمام پروژه هایی که دارای node-ipc به عنوان وابستگی هستند نیز تحت تأثیر این مشکل قرار می گیرند.
کد مخرب به عنوان بخشی از نسخه های node-ipc 10.1.1 و 10.1.2 در مخزن NPM پست شد. ۱۱ روز پیش یک تغییر مخرب از طرف نویسنده پروژه در مخزن Git پروژه ارسال شد. کشور در کد با تماس با سرویس api.ipgeolocation.io مشخص شد. کلیدی که از جاسازی مخرب به API ipgeolocation.io دسترسی داشت اکنون باطل شده است.
نویسنده پروژه در نظرات هشدار در مورد ظاهر کد مشکوک اظهار داشت که این تغییر به معنای افزودن فایلی به دسکتاپ است که پیامی را برای صلح نمایش می دهد. در واقع، کد جستجوی بازگشتی دایرکتوریها را با تلاش برای بازنویسی همه فایلهای مواجه شده انجام داد.
انتشار node-ipc 11.0.0 و 11.1.0 بعداً در مخزن NPM پست شد، که کد مخرب داخلی را با یک وابستگی خارجی جایگزین کرد، "peacenotwar"، که توسط همان نویسنده کنترل می شد و برای گنجاندن توسط نگهبانان بسته که مایل بودند ارائه شد. برای پیوستن به اعتراض بیان شده است که بسته صلح نه جنگ تنها پیامی در مورد صلح را نمایش می دهد، اما با در نظر گرفتن اقداماتی که قبلاً توسط نویسنده انجام شده است، محتوای بیشتر بسته غیرقابل پیش بینی است و عدم وجود تغییرات مخرب تضمین نمی شود.
در همان زمان، به روز رسانی برای شاخه پایدار node-ipc 9.2.2 که توسط پروژه Vue.js استفاده می شود، منتشر شد. در نسخه جدید، علاوه بر paqe نوتوار، بسته رنگ ها نیز به لیست وابستگی ها اضافه شد که نویسنده آن تغییرات مخربی را در ماه ژانویه در کد ادغام کرد. مجوز منبع برای نسخه جدید از MIT به DBAD تغییر کرده است.
از آنجایی که اقدامات بعدی نویسنده غیرقابل پیش بینی است، به کاربران node-ipc توصیه می شود که وابستگی ها را به نسخه 9.2.1 برطرف کنند. همچنین توصیه میشود نسخههایی را برای سایر پیشرفتها توسط همان نویسنده که 41 بسته را نگهداری میکند، اصلاح کنید. برخی از بستههای نگهداری شده توسط همان نویسنده (js-queue، easy-stack، js-message، event-pubsub) حدود یک میلیون دانلود در هفته دارند.
علاوه بر این: تلاشهای دیگری برای افزودن اقدامات به بستههای باز مختلف ثبت شده است که به عملکرد مستقیم برنامهها مربوط نمیشوند و به آدرسهای IP یا محلی سیستم مرتبط هستند. بی ضررترین این تغییرات (es5-ext، rete، PHP composer، PHPUnit، Redis Desktop Manager، Awesome Prometheus Alerts، verdaccio، filestash) به نمایش تماسها برای پایان دادن به جنگ برای کاربران روسیه و بلاروس خلاصه میشود. در همان زمان، مظاهر خطرناک تری نیز شناسایی می شوند، به عنوان مثال، یک رمزگذار به بسته های ماژول های AWS Terraform اضافه شد و محدودیت های سیاسی در مجوز وارد شد. سیستم عامل Tasmota برای دستگاه های ESP8266 و ESP32 دارای نشانک داخلی است که می تواند عملکرد دستگاه ها را مسدود کند. اعتقاد بر این است که چنین فعالیتی می تواند به طور جدی اعتماد به نرم افزار منبع باز را تضعیف کند.
منبع: opennet.ru