Proyek llama.cpp merilis versi b11000, yang mengatasi kerentanan keamanan kritis pada server RPC. Perbaikan ini menyelesaikan bug use-after-free yang memungkinkan klien jarak jauh tanpa autentikasi mencapai eksekusi kode jarak jauh dengan memanipulasi grafik komputasi yang di-cache.
- Implementasi sebelumnya meng-cache grafik komputasi per perangkat untuk menghindari pengiriman ulang data tensor selama operasi GRAPH_RECOMPUTE.
- Simpul yang di-cache ini memegang pointer langsung ke buffer backend; jika buffer dibebaskan melalui FREE_BUFFER, eksekusi ulang berikutnya mengakses pointer menggantung.
- Penyerang dapat mengubah bentuk potongan memori melalui perintah ALLOC_BUFFER dan SET_TENSOR untuk membocorkan alamat libc dan merebut alih antarmuka vtable buffer.
- Patch tersebut membuang semua grafik yang di-cache dalam free_buffer(), menyebabkan klien kembali ke GRAPH_COMPUTE pada panggilan berikutnya.
Pembaruan ini mencegah eksploitasi eksekusi kode jarak jauh yang menargetkan server RPC llama.cpp tanpa memerlukan perubahan protokol atau API.