Kode eksploitasi bukti konsep telah diterbitkan untuk kelemahan eksekusi kode jarak jauh yang kritis di protobuf.js, implementasi JavaScript dari Buffer Protokol Google yang banyak digunakan.
Alat ini sangat populer di registri Node Package Manager (npm), dengan rata-rata hampir 50 juta unduhan mingguan. Ini digunakan untuk komunikasi antar layanan, dalam aplikasi real-time, dan untuk penyimpanan data terstruktur yang efisien dalam database dan lingkungan cloud.
Dalam sebuah laporan pada hari Jumat, perusahaan keamanan aplikasi Endor Labs mengatakan bahwa kerentanan eksekusi kode jarak jauh (RCE) di protobuf.js disebabkan oleh pembuatan kode dinamis yang tidak aman.
Masalah keamanan belum menerima nomor CVE resmi dan saat ini dilacak sebagai GHSA-xq3m-2v4x-88gg, pengidentifikasi yang ditetapkan oleh GitHub.
Lab Endor menjelaskan bahwa perpustakaan membangun fungsi JavaScript dari skema protobuf dengan menggabungkan string dan mengeksekusinya melalui konstruktor Function(), namun gagal memvalidasi pengidentifikasi turunan skema, seperti nama pesan.
Hal ini memungkinkan penyerang menyediakan skema berbahaya yang memasukkan kode arbitrer ke dalam fungsi yang dihasilkan, yang kemudian dieksekusi saat aplikasi memproses pesan menggunakan skema tersebut.
Hal ini membuka jalur ke RCE di server atau aplikasi yang memuat skema yang dipengaruhi penyerang, memberikan akses ke variabel lingkungan, kredensial, database, dan sistem internal, dan bahkan memungkinkan pergerakan lateral dalam infrastruktur.
Serangan ini juga dapat memengaruhi mesin pengembang jika mesin tersebut memuat dan mendekode skema yang tidak tepercaya secara lokal.
Cacat ini berdampak pada protobuf.js versi 8.0.0/7.5.4 dan lebih rendah. Endor Labs merekomendasikan peningkatan ke 8.0.1 dan 7.5.5, yang dapat mengatasi masalah ini.
Patch ini membersihkan nama tipe dengan menghapus karakter non-alfanumerik, mencegah penyerang menutup fungsi sintetis. Namun, Endor berkomentar bahwa perbaikan jangka panjang adalah menghentikan pengidentifikasi yang dapat dijangkau penyerang bolak-balik melalui Fungsi sama sekali.
Endor Labs memperingatkan bahwa “eksploitasi sangatlah mudah,” dan bukti konsep (PoC) minimal yang disertakan dalam penasehat keamanan mencerminkan hal ini. Namun, hingga saat ini belum ada eksploitasi aktif di alam liar yang teramati.
Kerentanan ini dilaporkan oleh peneliti Endor Labs dan pemburu hadiah bug keamanan Cristian Staicu pada tanggal 2 Maret, dan pengelola protobuf.js merilis patch di GitHub pada tanggal 11 Maret. Perbaikan pada paket npm tersedia pada tanggal 4 April untuk cabang 8.x dan pada tanggal 15 April untuk cabang 7.x.
Selain meningkatkan ke versi yang dipatch, Endor Labs juga merekomendasikan agar administrator sistem mengaudit dependensi transitif, memperlakukan pemuatan skema sebagai masukan yang tidak tepercaya, dan lebih memilih skema yang telah dikompilasi/statis dalam produksi.
99% Mitos yang Ditemukan Masih Belum Ditambal.
AI menyatukan empat zero-day menjadi satu eksploitasi yang melewati penyaji dan sandbox OS. Gelombang eksploitasi baru akan datang.
Pada Autonomous Validation Summit (12 & 14 Mei), lihat bagaimana validasi yang otonom dan kaya konteks menemukan hal-hal yang dapat dieksploitasi, membuktikan bahwa kontrol tetap berlaku, dan menutup siklus remediasi.
