یک آسیبپذیری با شدت بحرانی در کتابخانه sandbox محیط Node.js به نام vm2، که با شناسه CVE-2026-22709 ثبت شده، امکان فرار از محیط ایزوله و اجرای کد دلخواه بر روی سیستم میزبان را فراهم میکند. کتابخانه متنباز vm2 که برای اجرای ایمن کدهای جاوااسکریپت غیرقابل اعتماد بدون دسترسی به سیستم فایل طراحی شده، در بیش از ۲۰۰ هزار پروژه در گیتهاب استفاده میشود و هفتهای حدود یک میلیون بار از پلتفرم npm دانلود میگردد. این پروژه در سال ۲۰۲۳ به دلیل آسیبپذیریهای مکرر فرار از sandbox متوقف شده بود، اما در اکتبر گذشته توسط نگهدارنده آن، پاتریک شیمک، احیا و نسخه ۳.۱۰.۰ منتشر شد.
آسیبپذیری جدید ناشی از عدم پاکسازی صحیح اشیاء Promise در vm2 است که مسئول مدیریت عملیات ناهمزمان هستند. در حالی که vm2 توابع callback متصل به پیادهسازی داخلی Promise خود را پاکسازی میکند، توابع async یک Promise سراسری برمیگردانند که callback های then() و catch() آن به درستی پاکسازی نمیشوند. این نقص در نسخه ۳.۱۰.۱ تا حدی و در نسخه ۳.۱۰.۲ به طور کاملتری برطرف شده است. با توجه به سادگی سوءاستفاده از این آسیبپذیری، به کاربران توصیه میشود هرچه سریعتر به نسخه ۳.۱۰.۳ ارتقا یابند. شیمک به BleepingComputer تأیید کرد که تمام آسیبپذیریهای افشا شده در این نسخه به درستی رفع شدهاند.
کلمات کلیدی : آسیبپذیری vm2، CVE-2026-22709، Node.js sandbox، فرار از sandbox، کتابخانه جاوااسکریپت، اجرای کد دلخواه

نظر شما چیست؟
خوشحال میشویم نظر شما را بدانیم. نظری بنویسید.