Zapscape, sebuah kerentanan KVM yang memungkinkan untuk keluar dari mesin virtual dan mengambil kendali atas host.

Poin kunci:
  • Kelemahan kritis pada KVM yang memungkinkan penyerang untuk keluar dari mesin virtual (L1) dan mengambil kendali penuh atas server host (L0).
  • Disebabkan oleh bug "penggunaan memori yang dibebaskan" dalam manajemen MMU bayangan, yang ada sejak kernel Linux 5.9.
  • Agar dapat digunakan, fitur virtualisasi bertingkat (nested virtualization) mutlak diperlukan agar dapat diaktifkan pada server.
  • Hal ini memengaruhi prosesor AMD dan Intel (yang terakhir memerlukan kemampuan penelusuran halaman EPT level 4 dan 5 yang terekspos).
  • Masalah ini telah diperbaiki dalam pembaruan kernel terbaru, namun sebagai solusi sementara, disarankan untuk menonaktifkan virtualisasi bertingkat.

Zapscape

Baru-baru ini, informasi dirilis mengenai kerentanan yang membahayakan server cloud. Kerentanan ini memungkinkan penyerang untuk mengambil kendali penuh atas mesin fisik , sebuah skenario mimpi buruk bagi penyedia infrastruktur cloud.

Zapscape, yang terdaftar dengan pengenal CVE-2026-64561, adalah kerentanan kritis pada hypervisor Linux KVM yang mengekspos risiko yang secara tidak sengaja diasumsikan oleh banyak platform dengan mengaktifkan virtualisasi bertingkat. Kerentanan ini memungkinkan penyerang dengan hak akses kernel di mesin virtual (L1) untuk mengeksekusi kode dengan hak akses root pada sistem host (L0), sehingga merusak isolasi lingkungan virtualisasi.

Dianggap sebagai ancaman berdampak tinggi, Zapscape tidak hanya memfasilitasi pelarian dari mesin virtual, tetapi juga membuka jalur peningkatan hak akses lokal bagi pengguna host yang memiliki izin tulis pada perangkat /dev/kvm.

Meskipun organisasi seperti Red Hat telah memberi peringkat kerentanan ini dengan skor CVSS 7.0 yang berfokus pada ketidakstabilan dan penolakan layanan, bukti konsep (PoC) publik menunjukkan cakupan yang jauh lebih merusak: pembuatan file sembarangan langsung di root host.

Kekacauan di unit manajemen memori

Cara kerja Zapscape tersembunyi di dalam Unit Manajemen Memori (MMU) KVM dan bagaimana hypervisor menangani tabel halaman ketika satu guest (L1) bertindak sebagai hypervisor untuk sub-guest lain (L2). Masalahnya terletak pada kesalahan urutan logis selama penanganan page fault. Dalam jalur kode kernel, pemeriksaan untuk "root usang" dieksekusi sebelum fungsi pengambilan halaman, bukan setelahnya.

Urutan yang salah ini memicu skenario use-after-free klasik . Selama pemulihan, KVM dapat menghapus root yang digunakannya dan menandainya sebagai tidak valid. Namun, karena pemeriksaan kesehatan telah dijalankan, sistem terus membangun pemetaan di bawah root yang tidak lagi valid. Menariknya, masalah pengurutan ini telah ada dalam kode sejak tahun 2008, tetapi menjadi kritis dan dapat dieksploitasi setelah rilis kernel Linux 5.9 pada Juli 2020 , ketika sebuah arahan diperkenalkan yang sistem tersebut berhenti menerapkannya.

Persyaratan dan batasan

Agar Zapscape dapat dieksploitasi, lingkungan harus memenuhi persyaratan yang sangat spesifik. Pertama, virtualisasi bertingkat harus diaktifkan dalam modul KVM, konfigurasi yang memungkinkan arsitektur tiga tingkat (L0, L1, dan L2). Penyerang perlu memulai serangan dari lapisan L1 , yang membutuhkan hak akses root pada mesin virtual tersebut. Dari sana, penyerang memanipulasi mode memori sementara aktivitas sub-guest L2 memaksa host L0 untuk memulai pengambilan halaman kuota, menyebabkan kerusakan memori.

Pada tingkat perangkat keras, kondisinya bervariasi tergantung pada pabrikan. Pada sistem AMD yang menggunakan tabel halaman bersarang ( SVM ), kerentanannya lebih mudah dan tidak memerlukan fitur tambahan apa pun. Sebaliknya, pada prosesor Intel, skenario tersebut mengharuskan guest L1 memiliki kemampuan pagewalk EPT empat dan lima tingkat yang terekspos . Hal ini membatasi vektor serangan pada Intel ke arsitektur yang lebih baru, khususnya dari keluarga Ice Lake-SP dan seterusnya.

Perlu dicatat bahwa, meskipun bukti konsep publik telah berhasil lolos ke host di lingkungan terkontrol, para peneliti keamanan telah melaporkan bahwa pada kernel yang dikompilasi ulang tertentu, eksploitasi tersebut hanya menyebabkan mesin virtual penyerang mengalami crash, bertindak sebagai penolakan layanan (denial of service) dan bukan sebagai upaya lolos sepenuhnya.

Mitigasi, perbaikan, dan strategi

Solusi pasti untuk Zapscape tiba di repositori Linux Juli lalu dengan sebuah patch yang memperbaiki urutan validasi. Perbaikan ini memindahkan pemeriksaan root usang agar terjadi setelah alokasi halaman MMU, memastikan bahwa hypervisor tidak membuat pemetaan aktif di bawah root yang telah dihapus. Perbaikan ini telah diimplementasikan di cabang kernel stabil dan sedang didistribusikan secara luas oleh berbagai distribusi.

Bagi administrator yang tidak dapat segera melakukan peningkatan, terdapat mitigasi sementara yang sangat efektif. Tindakan prioritas adalah menonaktifkan virtualisasi bertingkat pada semua server yang tidak benar-benar membutuhkannya dengan memberikan parameter `nested=0` ke modul `kvm_amd` atau `kvm_intel` dalam file konfigurasi modprobe. Langkah ini memerlukan pemuatan ulang modul, yang berarti menghentikan semua mesin virtual yang sedang aktif.

Terakhir, jika Anda tertarik untuk mempelajari lebih lanjut, Anda dapat menemukan detailnya di tautan berikut.


Tambahkan sebagai sumber pilihan di Google