Apa yang terjadi
NVD menerbitkan CVE-2026-105135 (CVSS 10.0 kritis) pada 2026-10-04 untuk InternLM MindSearch 0.1.0. Agen perencana diinstruksikan untuk mengeluarkan Python di dalam blok interpreter; ExecutionAction.run mengekstrak kode yang ditulis model dan mengeksekusinya melalui exec() tanpa sandbox, sementara layanan FastAPI mengekspos POST /solve tanpa autentikasi yang terikat ke 0.0.0.0:8002. Sebuah gist PoC publik membuktikan RCE end-to-end dengan model produksi nyata (DeepSeek-V4-Flash), menjalankan 'id' sebagai uid=0 root di dalam kontainer.
Mengapa penting
Setiap deployment MindSearch yang terekspos internet dapat sepenuhnya dikompromikan tanpa kredensial: penyerang dapat membaca OPENAI_API_KEY / WEB_SEARCH_API_KEY dari lingkungan proses, membaca/menulis file host dan kontainer, menanam implant, dan menggunakan proses sebagai SSRF/proxy ke jaringan yang berdekatan. Miskonfigurasi CORS mengubahnya menjadi serangan drive-by pada instance developer lokal. Ini adalah kelas serangan eksekusi-agen klasik dengan PoC publik yang berfungsi dan tanpa perbaikan, sehingga defender harus mengisolasi atau memfaktorkan ulang deployment.
Vektor serangan
Penyerang mengirim POST ke endpoint /solve tanpa autentikasi (default 0.0.0.0:8002) dengan prompt yang direkayasa; agen perencana mengeluarkan blok interpreter Python yang diekstrak oleh ExecutionAction.run di mindsearch/agent/graph.py melalui markdown fence pertama dan diteruskan ke Python exec() dengan global proses dan __builtins__ lengkap. Tanpa sandbox, tanpa allowlist AST, tanpa autentikasi HTTP. Gist publik mendemonstrasikan eksekusi perintah root hanya melalui prompt.
Sistem yang terdampak
InternLM MindSearch v0.1.0 dan semua versi publik hingga main terbaru (commit 7952c5f, 2026-08-22)
Mitigasi
Tidak ada patch vendor (vendor tidak responsif). Autentikasi POST /solve, ikat ke 127.0.0.1, jangan publikasikan 8002 di 0.0.0.0; jangan exec() output model - kirim hanya operasi WebSearchGraph terstruktur yang ada di allowlist; jika interpreter kode diperlukan, isolasi dalam kontainer tanpa hak istimewa tanpa rahasia, tanpa egress, dengan seccomp dan timeout. Gist: https://gist.github.com/DReazer/7ad46df9da73d0cf414276e4195b2183