Penjelasan teknis
Versi LangChain sebelum 0.3.85 (v0) dan 1.3.3 (v1) berisi jalur kode runtime yang mendeserialisasi input run, output run, atau payload lain yang dikontrol aplikasi menggunakan daftar izin objek yang terlalu luas. Jalur-jalur ini memanggil load() dengan pengaturan deserialisasi permisif, yang berpotensi memungkinkan eksekusi kode arbitrer jika penyerang dapat mempengaruhi data yang mengalir melalui agent run — termasuk melalui prompt injection, respons alat MCP, atau hasil pengambilan RAG yang mengalir ke dalam state run yang terserialisasi.
Vektor serangan
Penyerang yang dapat mempengaruhi data input atau output LangChain run (misalnya melalui prompt injection ke respons alat agent, konten dokumen RAG berbahaya, atau respons server MCP yang dikompromikan) dapat memicu jalur deserialisasi yang tidak aman, mencapai eksekusi kode dalam proses host. Tidak ada autentikasi yang diperlukan jika agent menangani data eksternal yang tidak terpercaya.
Sistem yang terdampak
Versi LangChain 0.x sebelum 0.3.85 dan 1.x sebelum 1.3.3. Banyak digunakan di seluruh pipeline agentic AI enterprise, aplikasi RAG, dan kerangka kerja tool-use LLM.
Mitigasi
Upgrade ke langchain >= 0.3.85 (cabang v0) atau >= 1.3.3 (cabang v1) segera. Audit semua pipeline agent LangChain yang memproses data eksternal yang tidak terpercaya (input pengguna, konten web, pengambilan dokumen, respons alat) untuk jalur eksploitasi potensial. Tinjau penggunaan load() dengan pengaturan deserialisasi permisif dalam integrasi khusus.