Celah Kritis Sandbox Escape Ditemukan di Library Node.js vm2 yang Populer

Sebuah kerentanan dengan tingkat keparahan kritis ditemukan pada library vm2 untuk Node.js, yang memungkinkan penyerang meloloskan diri dari sandbox dan mengeksekusi kode arbitrer langsung di sistem host. Kerentanan ini dilacak sebagai CVE-2026-22709 dan berdampak besar pada layanan yang masih mengandalkan vm2 untuk menjalankan kode JavaScript tidak tepercaya.
vm2 merupakan library open-source yang dirancang untuk menyediakan lingkungan eksekusi JavaScript terisolasi, sehingga kode yang dijalankan tidak memiliki akses ke sistem file atau resource host. Library ini selama bertahun-tahun digunakan secara luas di berbagai platform SaaS, layanan eksekusi skrip pengguna, chatbot, hingga proyek open-source, dan tercatat digunakan di lebih dari 200.000 proyek di GitHub. Popularitasnya juga masih tinggi, dengan sekitar satu juta unduhan per minggu di npm.
Namun, vm2 memiliki rekam jejak panjang terkait kelemahan keamanan. Proyek ini sempat dihentikan pada 2023 setelah berulang kali ditemukan celah sandbox escape dan dinilai tidak aman untuk menjalankan kode tidak tepercaya. Pada Oktober 2025, pengembang utamanya memutuskan menghidupkan kembali proyek ini dan merilis vm2 versi 3.10.0, yang diklaim telah menambal seluruh kerentanan yang diketahui saat itu.
Akar Masalah CVE-2026-22709
Kerentanan terbaru ini disebabkan oleh sanitasi yang tidak sempurna pada Promise, komponen JavaScript yang menangani operasi asinkron. vm2 memang melakukan sanitasi pada callback Promise internalnya sendiri, namun fungsi async ternyata mengembalikan Promise global. Callback .then() dan .catch() dari Promise global tersebut tidak disanitasi dengan benar, sehingga dapat dimanfaatkan untuk keluar dari konteks sandbox.
Akibat kelemahan ini, penyerang dapat menyuntikkan logika berbahaya yang akhirnya dieksekusi di sistem host, sepenuhnya melewati pembatasan yang seharusnya diterapkan oleh vm2.
Pengelola proyek mengonfirmasi bahwa:
- vm2 versi 3.10.0 rentan terhadap eksploitasi CVE-2026-22709
- Perbaikan awal diterapkan pada versi 3.10.1, namun masih berpotensi dibypass
- Perbaikan diperketat kembali pada versi 3.10.2
- Seluruh kerentanan yang telah diungkap diklaim sepenuhnya ditambal di versi 3.10.3, yang saat ini menjadi rilis terbaru
Kode contoh eksploit juga telah dipublikasikan, menunjukkan bahwa celah ini sangat mudah dieksploitasi pada versi yang rentan.
Risiko Nyata bagi Layanan Produksi
Karena vm2 sering digunakan untuk mengeksekusi kode yang berasal dari pengguna, dampak CVE-2026-22709 sangat serius. Jika dieksploitasi, penyerang dapat:
- Menjalankan perintah sistem di host
- Mengakses data sensitif
- Mengambil alih server aplikasi
- Menyebarkan serangan lanjutan ke infrastruktur lain
Ini bukan pertama kalinya vm2 menghadapi masalah serupa. Sebelumnya, sejumlah sandbox escape kritis juga pernah ditemukan, termasuk CVE-2022-36067, CVE-2023-29017, dan CVE-2023-30547, yang semuanya memungkinkan eksekusi kode di host.
Rekomendasi Mitigasi
Pengguna dan pengelola sistem yang masih memakai vm2 sangat disarankan untuk:
- Segera memperbarui vm2 ke versi 3.10.3 atau lebih baru
- Menganggap semua versi sebelumnya tidak aman untuk menjalankan kode tidak tepercaya
- Mengevaluasi ulang penggunaan vm2 di lingkungan produksi, terutama untuk kasus eksekusi skrip pengguna
Dengan sejarah panjang kerentanan sandbox escape, insiden ini kembali menegaskan bahwa menjalankan kode tidak tepercaya tetap menjadi tantangan besar dan membutuhkan pendekatan keamanan berlapis, bukan sekadar mengandalkan satu library sandbox.








