Celah LeRobot membuka RCE tanpa autentikasi di server robot

Framework robotika sumber terbuka LeRobot dari Hugging Face ditemukan memiliki celah eksekusi kode jarak jauh yang serius. Siapa pun yang dapat menjangkau port layanan berpotensi mengambil alih mesin tanpa nama pengguna, kata sandi, atau sertifikat. Celah ini dilacak sebagai CVE-2026-25874.

Letak masalahnya

Dalam arsitektur LeRobot, model kebijakan yang sudah dilatih biasanya berjalan di server GPU, sementara robot di sisi depan memanggil gRPC PolicyServer untuk mendapatkan instruksi tindakan. Desain itu bukan sumber masalahnya. Titik berbahayanya ada di lapisan komunikasi, yang memakai pickle.loads() Python pada data yang masuk.

Pickle bukan format pasif seperti JSON atau protobuf. Saat deserialisasi, ia dapat membangun ulang objek Python arbitrer dan menjalankan logika, termasuk alur yang berakhir pada eksekusi perintah. Dua handler RPC yang terdampak adalah SendPolicyInstructions() dan SendObservations(). Keduanya menerima byte mentah dan meneruskannya langsung ke pickle tanpa validasi tipe.

Dengan payload yang menyisipkan panggilan os.system(), perintah bisa berjalan begitu server melakukan deserialisasi. Risikonya makin besar karena PolicyServer memakai add_insecure_port() secara default, tanpa TLS dan tanpa autentikasi. Di jaringan internal sekalipun, selama port itu dapat dijangkau, serangan tetap mungkin dilakukan.

Dampaknya lebih berat di sistem robot

Versi yang terkonfirmasi terdampak adalah LeRobot v0.4.3 di PyPI. Versi lebih lama yang masih menggunakan arsitektur inferensi asinkron serupa kemungkinan juga terekspos. LeRobot memiliki lebih dari 21.500 star di GitHub dan menjadi salah satu proyek robotika sumber terbuka paling menonjol; pada saat artikel sumber diterbitkan, rilis perbaikan resmi belum tersedia.

PolicyServer yang ditembus bukan sekadar server aplikasi. Sistem seperti ini sering berjalan dengan hak tinggi di mesin GPU, berdekatan dengan dataset dan bobot model, serta terhubung langsung ke perangkat robot fisik. Di lini produksi atau robot medis, celah perangkat lunak dapat berubah menjadi persoalan keselamatan fisik.

Langkah yang perlu diambil

Peneliti menyarankan penggantian pickle dengan JSON, field native protobuf, atau safetensors dari Hugging Face; mengaktifkan TLS lewat secure gRPC port; mengikat layanan ke antarmuka privat; menutup port dengan firewall; dan menghentikan eksposur PolicyServer sampai patch nyata tersedia. Langkah-langkah itu hanya mitigasi, sementara perbaikan permanen tetap menunggu rilis Hugging Face.

Pelajarannya mengingatkan pada masalah file model PyTorch beberapa tahun lalu. Komunitas machine learning lama memakai pickle karena cepat, nyaman, dan terlanjur mengakar. Namun ketika file model, instruksi kebijakan, atau kanal observasi menerima input luar, kenyamanan itu berubah menjadi permukaan eksekusi kode.

Sumber: CocoLoop, CVE-2026-25874: Hugging Face LeRobot Unauthenticated RCE via Pickle Deserialization (Resecurity); Critical CVE-2026-25874 Leaves Hugging Face LeRobot Open to Unauthenticated RCE (The Hacker News)