Maklumat baru-baru ini dikeluarkan tentang kelemahan yang membahayakan pelayan awan. Kelemahan ini membolehkan penyerang mengambil kawalan sepenuhnya ke atas mesin fizikal , satu senario mimpi ngeri bagi penyedia infrastruktur awan.
Zapscape, yang didaftarkan di bawah pengecam CVE-2026-64561, merupakan kelemahan kritikal dalam hipervisor KVM Linux yang mendedahkan risiko yang ditanggung oleh banyak platform secara tidak sengaja dengan mendayakan virtualisasi bersarang. Kelemahan ini membolehkan penyerang dengan keistimewaan kernel dalam mesin maya (L1) melaksanakan kod dengan keistimewaan root pada sistem hos (L0), memecahkan pengasingan persekitaran maya.
Dianggap sebagai ancaman berimpak tinggi, Zapscape bukan sahaja memudahkan pelarian daripada mesin maya, tetapi juga membuka laluan peningkatan keistimewaan setempat untuk pengguna hos yang mempunyai kebenaran menulis pada peranti /dev/kvm.
Walaupun organisasi seperti Red Hat telah menilai kerentanan dengan skor CVSS sebanyak 7.0 yang memfokuskan pada ketidakstabilan dan penafian perkhidmatan, bukti konsep awam (PoC) menunjukkan skop yang jauh lebih merosakkan: penciptaan fail sewenang-wenangnya secara langsung di root hos.
Kekacauan dalam unit pengurusan memori
Cara Zapscape beroperasi tersembunyi dalam Unit Pengurusan Memori (MMU) KVM dan bagaimana hipervisor mengendalikan jadual halaman apabila seorang tetamu (L1) bertindak sebagai hipervisor untuk sub-tetamu lain (L2). Masalahnya terletak pada ralat susunan logik semasa pengendalian kesalahan halaman. Dalam laluan kod kernel, pemeriksaan untuk "root usang" telah dilaksanakan sebelum fungsi pengambilan halaman, dan bukannya selepas.
Urutan yang salah ini mencetuskan senario penggunaan-selepas-bebas klasik . Semasa pemulihan, KVM boleh mengalih keluar root yang digunakannya dan menandakannya sebagai tidak sah. Walau bagaimanapun, kerana pemeriksaan kesihatan telah dijalankan, sistem terus membina pemetaan di bawah root yang tidak lagi sah. Menariknya, isu pengisihan ini telah wujud dalam kod sejak 2008, tetapi ia menjadi kritikal dan boleh dieksploitasi selepas pelancaran kernel Linux 5.9 pada Julai 2020 , apabila arahan diperkenalkan bahawa sistem hanya berhenti menguatkuasakannya.
Keperluan dan batasan
Agar Zapscape boleh dieksploitasi, persekitaran mesti memenuhi keperluan yang sangat spesifik. Pertama, virtualisasi bersarang mesti diaktifkan dalam modul KVM, konfigurasi yang membolehkan seni bina tiga peringkat (L0, L1 dan L2). Penyerang perlu memulakan serangan dari lapisan L1 , yang memerlukan keistimewaan root pada mesin maya tersebut. Dari situ, penyerang memanipulasi mod memori sementara aktiviti sub-tetamu L2 memaksa hos L0 untuk memulakan pengambilan halaman kuota, menyebabkan kerosakan memori.
Pada peringkat perkakasan, keadaan berbeza-beza bergantung pada pengilang. Pada sistem AMD yang menggunakan jadual halaman bersarang ( SVM ), kerentanan adalah lebih mudah dan tidak memerlukan sebarang ciri tambahan. Sebaliknya, pada pemproses Intel, senario tersebut memerlukan tetamu L1 mendedahkan keupayaan pagewalk EPT empat dan lima peringkat . Ini mengehadkan vektor serangan pada Intel kepada seni bina yang lebih terkini, khususnya daripada keluarga Ice Lake-SP dan seterusnya.
Perlu diingatkan bahawa, walaupun bukti konsep awam telah berjaya melarikan diri ke hos dalam persekitaran terkawal, penyelidik keselamatan telah melaporkan bahawa pada kernel tertentu yang dikompilasi semula, eksploitasi hanya merosakkan mesin maya penyerang, bertindak sebagai penafian perkhidmatan dan bukannya pelarian sepenuhnya.
Mitigasi, tampalan dan strategi
Penyelesaian muktamad untuk Zapscape telah tiba di repositori Linux Julai lalu dengan tampalan yang membetulkan susunan pengesahan. Pembetulan ini memindahkan semakan root yang lapuk untuk berlaku selepas peruntukan halaman MMU, memastikan bahawa hypervisor tidak mencipta pemetaan aktif di bawah root yang dipadam. Pembetulan ini telah dilaksanakan dalam cabang kernel yang stabil dan sedang diedarkan secara meluas oleh pelbagai pengedaran.
Bagi pentadbir yang tidak dapat menaik taraf dengan segera, terdapat mitigasi sementara yang sangat berkesan. Tindakan keutamaan adalah untuk melumpuhkan virtualisasi bersarang pada semua pelayan yang tidak diperlukan sepenuhnya dengan menghantar parameter `nested=0` kepada modul `kvm_amd` atau `kvm_intel` dalam fail konfigurasi modprobe. Langkah ini memerlukan muat semula modul, yang bermaksud menghentikan sebarang mesin maya yang aktif.
Akhir sekali, jika anda berminat untuk mengetahui lebih lanjut, anda boleh mendapatkan butiran lanjut di pautan berikut.