Baru-baru ini, peneliti keamanan menemukan kerentanan serius di komponen kernel Windows yang ditulis menggunakan bahasa Rust, tepatnya pada modul Graphics Device Interface (GDI).
Baca Juga : 3 Cara Mengatasi Gpedit Tidak Bisa Dibuka Windows 11
Masalah ini bisa bikin komputer langsung crash dan muncul Blue Screen of Death (BSOD) hanya karena satu kesalahan kecil dalam sistem grafis.
Kerentanan ini bukan cuma soal bug biasa tapi juga menggambarkan tantangan besar Microsoft saat mencoba mengintegrasikan bahasa pemrograman aman memori seperti Rust ke dalam sistem operasi yang sudah sangat kompleks seperti Windows.
Ditemukan Lewat Fuzzing
Kerentanan ini pertama kali ditemukan oleh tim riset keamanan dari Check Point melalui kampanye fuzzing yang menargetkan subsistem grafis Windows.
Buat yang belum tahu, fuzzing adalah metode pengujian di mana perangkat lunak “dihujani” dengan input acak atau rusak untuk menemukan titik lemah yang bisa menyebabkan crash.
Dalam pengujian ini, Check Point menggunakan tool seperti WinAFL dan WinAFL Pet di lingkungan uji tertutup. Mereka fokus ke format Enhanced Metafile Format (EMF) dan EMF+, dua format file yang digunakan GDI untuk menggambar grafik 2D.
Format EMF dan EMF+ ini memang dikenal rumit dan sering jadi jalur serangan karena bisa disisipkan ke dalam dokumen atau gambar.
Awalnya mereka cuma pakai 16 file sebagai “benih” (seed file), tapi hasilnya cepat banget. Dalam waktu singkat, tim berhasil menemukan beragam crash mulai dari kebocoran informasi sampai potensi eksekusi kode berbahaya.
Namun yang paling mengejutkan, sistem pengujian tiba-tiba mengalami restart berulang kali karena BugCheck, tanda adanya bug di level kernel.
Kondisi ini bahkan dijuluki “Denial of Fuzzing”, karena membuat seluruh proses uji terhenti dan memaksa mereka beralih ke analisis kernel forensik.
Menelusuri Akar Masalah di Kernel Rust
Untuk mencari penyebab pastinya, Check Point memperkuat proses uji mereka dengan analisis memori menggunakan MemProcFS dan Volatility. Dari situ, mereka mengekstrak file hasil mutasi yang tersimpan di RAM disk dan mempersempit waktu reproduksi bug dari beberapa hari jadi hanya 30 menit, dengan lebih dari 836 sampel.
Mereka bahkan membuat sistem otomatis untuk mengirim hasil mutasi ke server jarak jauh, dan berhasil menemukan mutasi ke-380.000 yang memicu crash besar itu.
Hasil analisis mendalam menunjukkan bug tersebut berada di win32kbase_rs.sys, yaitu driver kernel GDI yang ditulis ulang Microsoft menggunakan Rust.
Masalahnya muncul saat proses konversi path-to-region di fungsi NtGdiSelectClipPath, di mana terjadi akses array di luar batas (out-of-bounds) di bagian region_from_path_mut().
Rust sebenarnya punya mekanisme pengamanan otomatis bernama panic_bounds_check(), dan di sinilah sistem Windows langsung memicu error SYSTEM_SERVICE_EXCEPTION alias BSOD.

Pemicunya?
File EmfPlusDrawBeziers yang rusak dengan jumlah titik (points) nggak sesuai — ditulis 17 padahal seharusnya 4 — serta koordinat yang aneh, ditambah efek kuas (pen) lebar dari EmfPlusObject.
Gabungan kondisi ini membuat sistem GDI gagal mengatur batas memori dan akhirnya “meledak”.
Script PowerShell yang Bisa Bikin PC Langsung Crash
Yang bikin khawatir, bug ini bisa dimanfaatkan dengan sangat mudah.
Hanya dengan script PowerShell sederhana, file metafile yang sudah dimodifikasi bisa disisipkan ke objek grafik (Graphics object) melalui library System.Drawing.
Begitu dijalankan, komputer langsung BSOD seketika, bahkan dari akun dengan hak akses rendah di Windows 11 versi 24H2.
Meski celah ini tidak memungkinkan eksekusi kode jarak jauh, dampaknya tetap besar. Bayangkan kalau ada orang dalam yang sengaja menjalankan script ini di jaringan kantor seluruh sistem bisa crash bersamaan.
Patch Sudah Dirilis oleh Microsoft
Untungnya, Microsoft bergerak cepat.
Mereka menambal bug ini di OS Build 26100.4202 melalui update KB5058499 (preview) yang dirilis pada 28 Mei 2025.
Perubahan tersebut menambah ukuran driver sekitar 16KB dengan logika yang diperkuat.
Di dalam patch ini, Microsoft menambahkan dua mekanisme penanganan tepi (edge-handling routines):
-
add_edge_original()
-
add_edge_new() (dengan pengecekan batas tambahan)
Keduanya dikontrol lewat feature flag, meski di awal peluncuran fitur ini masih dalam kondisi nonaktif.
Setelah laporan lengkap dikirim oleh Check Point, tim Microsoft Security Response Center (MSRC) menilai bug ini bukan ancaman kritikal karena hanya menyebabkan Denial of Service (DoS) dan bukan eksekusi kode.
Baca Juga : Windows 10 Stop Update! Dapatkan Tambahan Support Gratis Setahun
Rust Aman, Tapi Bukan Tanpa Celah
Kasus ini jadi salah satu bug kernel berbasis Rust pertama yang ditemukan sejak Microsoft memperkenalkan integrasi Rust ke Windows sebuah langkah besar yang pertama kali diumumkan di BlueHat IL 2023.
Tujuannya jelas: Rust dirancang agar lebih aman terhadap kesalahan memori seperti buffer overflow. Tapi bug ini membuktikan satu hal: bahasa pemrograman aman tidak otomatis membuat sistem bebas dari kesalahan desain.
Kesimpulannya, Rust bisa membantu mengurangi risiko, tapi pengujian mendalam seperti fuzzing tetap penting.
Karena tanpa validasi yang ketat, sistem keamanan bisa saja berubah jadi “alarm yang justru meledakkan rumahnya sendiri.”


