
Versi lama pembuat portal pengembangan Spotify Backstage rentan terhadap kelemahan eksekusi kode jarak jauh yang tidak diautentikasi kritis (skor CVSS: 9, yang memungkinkan penyerang menjalankan perintah pada sistem yang terbuka untuk umum.
Masalahnya terletak pada masalah pelarian kotak pasir vm2 yang peneliti di Oxeye diungkapkan dalam sebuah laporan bulan lalu, memperingatkan tentang penyebaran ekstensif perpustakaan kotak pasir JavaScript tertentu.
Karena Backstage menggunakan pustaka vm2, itu juga dipengaruhi oleh kerentanan melalui rantai pasokan.
Oxeye mengkonfirmasi dampaknya di Backstage dan memberi tahu Spotify pada 18 Agustus 2022. Vendor kemudian mengatasinya melalui pembaruan (v 1.5.1) yang dirilis pada 29 Agustus 2022, hanya sehari setelah vm2 ditambal dengan versi 3.9.11.
Tim Oxeye mengembangkan payload yang berfungsi untuk menyerang plugin Scaffolder Backstage untuk pelarian sandbox dan eksekusi kode, mencobanya pada penerapan lokal.
.png)
Kode berbahaya disuntikkan dalam fungsi modifikasi dari mesin rendering dari plugin tersebut, dijalankan dalam konteks mesin virtual, dan dipicu oleh kesalahan yang memanggil fungsi yang tidak ditentukan.
Payload membuat objek CallSite di luar kotak pasir, memungkinkan penyerang untuk mengeksekusi perintah arbitrer pada sistem host.
Dampak cacat dan mitigasi
Pemindaian Oxeye di Shodan mengungkapkan bahwa 546 kasus Backstage yang diekspos secara publik di internet dapat dieksploitasi, sebagian besar berbasis di Amerika Serikat.
Meskipun jumlah ini tidak besar, Backstage adalah digunakan oleh banyak perusahaan besartermasuk Spotify, Netflix, Epic Games, Jaguar/Land Rover, Mercedes Benz, American Airlines, Splunk, TUI, Oriflame, Twilio, SoundCloud, HBO Max, HP Inc, Siemens, VMware, dan IKEA.
Karena itu, bahkan satu contoh rentan saja bisa cukup untuk menyebabkan pelanggaran signifikan di perusahaan terkenal.
Lebih buruk lagi, API Backstage tersedia tanpa otentikasi secara default. Kecuali instans diblokir oleh aturan pemfilteran jaringan atau manajemen identitas, instans tersebut dapat diakses oleh pengguna jarak jauh mana pun.
Ini berarti bahwa pengguna tamu berpotensi menyerang instans yang terpapar Internet tanpa memerlukan kredensial.
“Ketika mencoba mengirim permintaan langsung ke server API backend dari beberapa contoh yang terpapar internet, kami menemukan beberapa tidak memerlukan bentuk otentikasi atau otorisasi apa pun,” para peneliti Oxeye memperingatkan dalam laporan mereka.
“Dengan demikian kami menyimpulkan bahwa kerentanan dapat dieksploitasi tanpa autentikasi dalam banyak hal.”
.png)
Saat ini, jumlah instance yang menjalankan versi Backstage sebelum 1.5.1 tidak diketahui.
Semua administrator sistem disarankan untuk meng-upgrade ke rilis terbaru, Backstage versi 1.7.2, yang keluar minggu lalu.
Oxeye juga merekomendasikan mereka yang menggunakan mesin templat di aplikasi mereka untuk membatasi pilihan mereka pada mesin “tanpa logika”. Kumisyang tidak memperkenalkan injeksi template sisi server dan risiko eksekusi JavaScript.
Akhirnya, para peneliti memperingatkan untuk mengaktifkan otentikasi front dan backend untuk mencegah akses tidak sah ke Backstage API.