KUTIM-CSIRT mengimbau tim data dan pengembang di lingkungan Pemerintah Kabupaten Kutai Timur yang menggunakan Marimo — perangkat notebook Python interaktif, sejenis Jupyter — untuk memperbarui instalasinya sehubungan dengan CVE-2026-75149. Kerentanan berjenis code injection ini berskor CVSS 8,7 (High).
Kerentanan ini menarik karena mewakili kelas risiko yang relatif baru: berkas notebook yang diterima dari pihak lain kini dapat menjalankan perintah sistem hanya karena dibuka, melalui konfigurasi MCP server yang tertanam di dalamnya. Notebook yang beredar antar-instansi, diunduh dari repositori publik, atau diterima sebagai lampiran perlu diperlakukan dengan kewaspadaan yang sama seperti berkas dokumen bermakro.
Ikhtisar
CVE-2026-75149 adalah kerentanan Improper Control of Generation of Code — Code Injection (CWE-94) dengan vektor CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H.
Celah berada pada notebook configuration handler Marimo. Ketika sebuah notebook memuat entri konfigurasi MCP Server (Model Context Protocol, protokol yang menghubungkan aplikasi dengan penyedia konteks untuk model AI) yang perintahnya telah disisipi penyerang, Marimo menjalankan perintah tersebut secara otomatis sebagai proses lokal begitu notebook dibuka dalam mode edit.
UI:P pada CVSS 4.0 dan UI:R pada CVSS 3.1) serta uraian teknis pada dokumen yang sama, diperlukan satu tindakan dari korban, yaitu membuka notebook berbahaya dalam mode edit. Autentikasi memang tidak dibutuhkan. Kami mencatat hal ini agar Perangkat Daerah dapat menyusun mitigasi yang tepat sasaran — kunci pencegahannya justru terletak pada kehati-hatian membuka berkas notebook dari sumber yang tidak dikenal.
Dampak
- Penyerang dapat menjalankan perintah sewenang-wenang pada sistem korban dengan hak akses pengguna yang membuka notebook.
- Karena notebook data umumnya dibuka di komputer analis yang memiliki akses ke basis data dan berkas kerja dinas, dampaknya dapat meluas ke data yang jauh melampaui isi notebook itu sendiri.
- Kerahasiaan, integritas, dan ketersediaan sistem korban sama-sama terdampak (
VC:H/VI:H/VA:H). - Eksekusi berlangsung tanpa peringatan atau dialog konfirmasi, sehingga korban tidak menyadari ada perintah yang berjalan.
- Perintah yang dijalankan dapat berupa pengunduhan muatan lanjutan, sehingga celah ini berpotensi menjadi titik awal (initial access) bagi serangan yang lebih besar.
Sistem yang Terdampak
| Produk | Versi Terdampak | Versi Perbaikan |
|---|---|---|
| Marimo | Semua versi sebelum 0.23.15 | 0.23.15 atau lebih baru |
Detail Teknis
Berkas notebook Marimo bukan sekadar dokumen berisi teks dan kode yang menunggu dijalankan pengguna. Berkas tersebut juga membawa konfigurasi, dan salah satu bagian konfigurasi itu mendefinisikan MCP server yang hendak dihubungkan — lengkap dengan perintah yang harus dieksekusi untuk menjalankannya.
Pada versi rentan, Marimo memperlakukan definisi perintah tersebut sebagai konfigurasi tepercaya dan langsung menjalankannya saat notebook dimuat dalam mode edit. Padahal konfigurasi itu berasal dari berkas yang bisa saja dibuat oleh siapa pun. Batas antara data (isi berkas) dan instruksi (perintah yang dijalankan sistem) menjadi kabur — persis pola kelemahan yang dirumuskan CWE-94.
Nilai PR:N menegaskan penyerang tidak memerlukan akun apa pun pada sistem korban; ia hanya perlu berhasil membuat notebook buatannya sampai ke tangan korban. Sementara AC:L menunjukkan tidak ada kondisi khusus yang harus dipenuhi agar eksploitasi berhasil.
Rekomendasi
- Perbarui Marimo ke versi 0.23.15 atau lebih baru pada seluruh komputer kerja yang menggunakannya. Instalasi resmi tersedia melalui situs Marimo maupun repositori GitHub resminya.
- Jangan membuka berkas notebook Marimo dari sumber yang tidak dikenal atau tidak terverifikasi — termasuk lampiran email, tautan unduhan, dan repositori publik. Perlakukan notebook seperti berkas dokumen bermakro.
- Bila terpaksa harus membuka notebook dari luar, periksa isinya lebih dulu sebagai teks biasa dan cari blok konfigurasi MCP server beserta perintah yang didefinisikan di dalamnya, sebelum membukanya di mode edit.
- Jalankan notebook dari pihak eksternal di lingkungan terisolasi (kontainer atau mesin virtual terpisah) yang tidak memiliki akses ke jaringan dan berkas dinas.
- Terapkan prinsip least privilege pada akun yang digunakan untuk pekerjaan analisis data — jangan menjalankan notebook dengan akun administratif.
- Bila ada notebook eksternal yang sempat dibuka pada versi rentan, periksa riwayat proses dan koneksi keluar dari komputer bersangkutan, lalu laporkan kejanggalan ke KUTIM-CSIRT.