Aplikasi Nilai Sentinel di Chrome V8 dan Potensi Risiko Keamanannya
Dalam mesin V8 terdapat berbagai objek Sentinel Value khusus, seperti TheHole dan Uninitialized Oddball. Objek-objek ini seharusnya tidak bocor ke dalam lingkungan JavaScript, tetapi beberapa kerentanan dapat menyebabkan mereka terpapar, yang dapat memicu masalah keamanan.
Baru-baru ini, para peneliti menemukan bahwa dengan membocorkan objek Uninitialized Oddball dapat melewati mekanisme perlindungan HardenType V8. Metode ini pertama kali muncul dalam laporan masalah yang diajukan oleh anggota tim Project Zero, dan saat ini masih berlaku di versi terbaru V8.
Metode bypass ini bersifat universal, dapat digunakan untuk eksploitasi beberapa kerentanan sejarah, seperti CVE-2021-30551, CVE-2022-1486, dan lainnya. Ini mengurangi kesulitan eksploitasi, sehingga hanya dengan membocorkan objek Uninitialized Oddball saja dapat menyebabkan eksekusi kode jarak jauh.
Untuk memverifikasi metode ini, Anda dapat mengubah fungsi native V8 %TheHole(), agar mengembalikan objek Oddball yang belum diinisialisasi. Pengujian menunjukkan bahwa ini memang dapat mencapai pembacaan memori yang relatif sembarang.
Dalam kode JavaScript yang dioptimalkan, V8 tidak memeriksa tipe elemen array dengan cukup, langsung menghitung dan mengembalikan nilai berdasarkan offset, sehingga menyebabkan kebingungan tipe dan pembacaan sembarangan. Disarankan untuk menambahkan pemeriksaan terhadap map array selama proses optimasi untuk menghindari situasi ini.
Penemuan metode bypass ini menyoroti beberapa masalah penting:
Kebocoran objek Sentinel Value lainnya mungkin juga berbahaya
Apakah masalah terkait harus dianggap sebagai kerentanan keamanan resmi masih menjadi perdebatan.
Dalam pengujian fuzz, dapat dipertimbangkan untuk memperkenalkan Nilai Sentinel sebagai variabel.
Bagaimanapun, masalah semacam ini akan sangat memperpendek siklus bagi para peretas untuk memanfaatkan sepenuhnya, dan sangat perlu diperhatikan. Perusahaan perangkat lunak terkait harus segera memperbaiki versi yang terpengaruh untuk mengurangi risiko potensial.
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
8 Suka
Hadiah
8
4
Posting ulang
Bagikan
Komentar
0/400
TerraNeverForget
· 14jam yang lalu
Browser lagi ada masalah besar ini
Lihat AsliBalas0
BearHugger
· 14jam yang lalu
Apakah ini lubang V8 lagi? Bug ini benar-benar keterlaluan.
Kebocoran Sentinel Value pada mesin V8 menimbulkan risiko keamanan, perlu diwaspadai.
Aplikasi Nilai Sentinel di Chrome V8 dan Potensi Risiko Keamanannya
Dalam mesin V8 terdapat berbagai objek Sentinel Value khusus, seperti TheHole dan Uninitialized Oddball. Objek-objek ini seharusnya tidak bocor ke dalam lingkungan JavaScript, tetapi beberapa kerentanan dapat menyebabkan mereka terpapar, yang dapat memicu masalah keamanan.
Baru-baru ini, para peneliti menemukan bahwa dengan membocorkan objek Uninitialized Oddball dapat melewati mekanisme perlindungan HardenType V8. Metode ini pertama kali muncul dalam laporan masalah yang diajukan oleh anggota tim Project Zero, dan saat ini masih berlaku di versi terbaru V8.
Metode bypass ini bersifat universal, dapat digunakan untuk eksploitasi beberapa kerentanan sejarah, seperti CVE-2021-30551, CVE-2022-1486, dan lainnya. Ini mengurangi kesulitan eksploitasi, sehingga hanya dengan membocorkan objek Uninitialized Oddball saja dapat menyebabkan eksekusi kode jarak jauh.
Untuk memverifikasi metode ini, Anda dapat mengubah fungsi native V8 %TheHole(), agar mengembalikan objek Oddball yang belum diinisialisasi. Pengujian menunjukkan bahwa ini memang dapat mencapai pembacaan memori yang relatif sembarang.
Dalam kode JavaScript yang dioptimalkan, V8 tidak memeriksa tipe elemen array dengan cukup, langsung menghitung dan mengembalikan nilai berdasarkan offset, sehingga menyebabkan kebingungan tipe dan pembacaan sembarangan. Disarankan untuk menambahkan pemeriksaan terhadap map array selama proses optimasi untuk menghindari situasi ini.
Penemuan metode bypass ini menyoroti beberapa masalah penting:
Bagaimanapun, masalah semacam ini akan sangat memperpendek siklus bagi para peretas untuk memanfaatkan sepenuhnya, dan sangat perlu diperhatikan. Perusahaan perangkat lunak terkait harus segera memperbaiki versi yang terpengaruh untuk mengurangi risiko potensial.