Apa yang terjadi
Langroid, framework untuk membangun aplikasi berbasis LLM, rentan terhadap sandbox escape/RCE dalam TableChatAgent.pandas_eval() dan VectorStore.compute_from_docs(). Keduanya mencoba membuat sandbox eksekusi kode LLM-generated dengan mengatur locals eval() ke dict kosong, tetapi tidak menghapus __builtins__ dari globals, sehingga Python secara implisit menyuntikkan semua builtins — memberikan akses penuh ke fungsi seperti __import__('os').system(). Karena agen ini secara native menjalankan pesan tool LLM-generated, setiap prompt injection yang mencapai agen (langsung atau tidak langsung melalui konten RAG-ingested) dapat mencapai RCE penuh. Diperbaiki dalam 0.65.2.
Mengapa penting
CVSS 10.0 — ini adalah RCE sandbox-escape lengkap dalam framework agen LLM yang banyak digunakan, dapat dieksploitasi murni melalui prompt injection tanpa autentikasi tambahan yang diperlukan. Karena TableChatAgent dan VectorStore adalah kemampuan Langroid inti yang umum digunakan, aplikasi apa pun yang dibangun di atas Langroid yang tidak dipatch dan membiarkan output LLM sendiri mencapai jalur kode ini mudah dikompromikan oleh konten yang dibaca model (misalnya, dokumen beracun dalam pipeline RAG).
Vektor serangan
Prompt injection (langsung atau tidak langsung melalui konten RAG) menyebabkan LLM memancarkan payload tool-call yang mencapai TableChatAgent.pandas_eval() atau VectorStore.compute_from_docs(), di mana sandboxing eval() yang tidak lengkap memungkinkan eksekusi perintah Python/OS arbitrer
Sistem yang terdampak
Langroid (pip package) < 0.65.2
Mitigasi
Upgrade ke Langroid ≥0.65.2