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.