KUTIM-CSIRT mengimbau seluruh Perangkat Daerah di lingkungan Pemerintah Kabupaten Kutai Timur yang mengembangkan atau mengelola aplikasi berbasis MongoDB untuk memeriksa driver (pustaka klien) MongoDB yang dipakai aplikasinya dan menindaklanjuti enam kerentanan yang tercakup dalam rekapitulasi ini: empat berperingkat High dan dua berperingkat Medium.
Ikhtisar
MongoDB adalah sistem basis data berbasis dokumen (NoSQL) yang menyimpan data dalam bentuk dokumen mirip JSON. Aplikasi berkomunikasi dengannya melalui driver sesuai bahasa pemrogramannya. Rekapitulasi ini memuat enam CVE pada tujuh driver/pustaka MongoDB (pustaka dan ekstensi PHP dihitung terpisah): C++, PHP (pustaka dan ekstensi), Go, Rust, C, dan C#.
Kelemahan-kelemahan ini sejenis: driver tidak menetralkan karakter khusus pada pengenal yang diberikan aplikasi, misalnya nama basis data atau collection, sebelum menyusun alamat tujuan operasi. Bila aplikasi meneruskan masukan pengguna yang tidak tepercaya sebagai pengenal tersebut, operasi baca atau tulis dapat terarah ke basis data atau collection lain daripada yang dimaksud.
PR:L). Kerentanan ini bukan celah yang dapat dieksploitasi langsung pada server MongoDB.
Dampak
- Pembacaan atau penulisan data pada basis data atau collection lain milik aplikasi, termasuk data penyewa (tenant) atau unit yang seharusnya terpisah.
- Perubahan data yang tidak sah, karena operasi berjalan dengan kredensial milik aplikasi itu sendiri.
- Pada pustaka C#, nilai pengganti dokumen yang dibentuk dari input longgar dapat diperlakukan basis data sebagai logika pembaruan, bukan sebagai data biasa.
Sistem yang Terdampak
| Produk | Versi Terdampak | Versi Perbaikan |
|---|---|---|
| MongoDB C++ Driver | 3.0.0 hingga versi sebelum 4.5.1 | 4.5.1 atau lebih baru |
| MongoDB PHP Library | Semua versi sebelum 1.21.4, serta 2.0.0 hingga versi sebelum 2.4.1 | 1.21.4 (cabang 1.x) atau 2.4.1 (cabang 2.x), atau lebih baru |
| MongoDB PHP Extension | Semua versi sebelum 1.21.6, serta 2.0.0 hingga versi sebelum 2.4.1 | 1.21.6 (cabang 1.x) atau 2.4.1 (cabang 2.x), atau lebih baru |
MongoDB Go Driver (hanya API Client.BulkWrite) | 2.1.0 hingga versi sebelum 2.8.2 | 2.8.2 atau lebih baru |
| MongoDB Rust Driver | 3.0.0 hingga versi sebelum 3.8.2 | 3.8.2 atau lebih baru |
| MongoDB C Driver | 1.0.0 hingga versi sebelum 2.5.1 | 2.5.1 atau lebih baru |
| MongoDB C# Driver | 2.9.0 hingga versi sebelum 3.11.1 | 3.11.1 atau lebih baru |
Rincian CVE
| CVE | Skor CVSS | Jenis | Ringkasan |
|---|---|---|---|
| CVE-2026-81522 | 8,6 (High) | CWE-116, pengodean/escaping keluaran tidak tepat | MongoDB C++ Driver: karakter khusus pada pengenal namespace dari aplikasi dapat mengarahkan operasi ke target lain. |
| CVE-2026-81525 | 8,6 (High) | CWE-943, netralisasi elemen khusus pada logika kueri data | MongoDB PHP Library dan PHP Extension: pengenal namespace dari aplikasi tidak disaring memadai sehingga operasi dapat terarah ke lokasi penyimpanan lain. |
| CVE-2026-81521 | 7,1 (High) | CWE-99, kendali sumber daya yang tidak tepat (resource injection) | MongoDB Go Driver: nama basis data berisi karakter pemisah pada operasi Client.BulkWrite dapat mengarahkan penulisan ke basis data lain. |
| CVE-2026-81526 | 7,1 (High) | CWE-74, injection | MongoDB Rust Driver: pengenal target dari pemanggil tidak dinetralkan sehingga operasi tulis dapat mengenai target lain dalam deployment yang sama. |
| CVE-2026-81524 | 5,3 (Medium) | CWE-99, resource injection | MongoDB C Driver: elemen khusus pada nama basis data dan collection lolos tanpa penyaringan saat namespace disusun. |
| CVE-2026-81528 | 5,3 (Medium) | CWE-943, netralisasi elemen khusus pada logika kueri data | MongoDB C# Driver: jalur penggantian dokumen tidak memvalidasi bentuk elemen sehingga input longgar dapat ditafsirkan sebagai logika pembaruan. |
Detail Teknis
Operasi MongoDB menyusun tujuan berdasarkan pasangan nama basis data dan collection. Pada kerentanan di atas, pustaka klien menerima pengenal dari aplikasi tanpa menolak atau menetralkan karakter yang berfungsi sebagai pemisah atau elemen khusus. Dampaknya baru nyata apabila aplikasi membentuk pengenal tersebut dari input yang dikendalikan pengguna; aplikasi yang memakai nama basis data dan collection tetap (konstanta) tidak terpengaruh jalur ini. Rincian teknis yang lebih dalam tidak kami muat karena dapat langsung dimanfaatkan.
Rekomendasi
- Inventarisasi aplikasi yang memakai MongoDB beserta driver dan versinya (cek berkas dependensi seperti
composer.lock,go.mod,Cargo.lock, ataupackages.config). - Perbarui driver ke versi perbaikan sesuai tabel di atas. Untuk PHP, perbarui pustaka dan ekstensinya.
- Jangan meneruskan input yang tidak tepercaya sebagai nama basis data, collection, namespace, atau parameter kueri dan pembaruan.
- Terapkan validasi masukan dan batasi karakter yang diperbolehkan pada pengenal basis data dan collection (daftar yang diizinkan).
- Tinjau kode aplikasi yang memakai API terdampak, khususnya operasi
BulkWritedan penggantian dokumen (document replacement). - Pantau log audit MongoDB untuk operasi baca atau tulis yang diarahkan ke basis data atau collection yang tidak semestinya.
- Laporkan indikasi penyalahgunaan ke KUTIM-CSIRT melalui kanal pelaporan resmi.
Catatan Status Eksploitasi
Keenam CVE belum tercatat di katalog KEV CISA pada saat artikel ini diterbitkan. Tetap waspada: kelemahan semacam ini mudah dimanfaatkan pada aplikasi yang meneruskan input pengguna tanpa validasi, sehingga pembaruan dan peninjauan kode sebaiknya tidak ditunda.
Referensi
- BSSN/Id-SIRTII – Security Advisory: Rekapitulasi Kerentanan pada MongoDB (edaran sumber)
- NVD – CVE-2026-81522
- NVD – CVE-2026-81525
- NVD – CVE-2026-81521
- NVD – CVE-2026-81526
- NVD – CVE-2026-81524
- NVD – CVE-2026-81528
- MongoDB C++ Driver – rilis r4.5.1
- MongoDB PHP Library – rilis 2.4.1
- MongoDB PHP Extension – rilis 2.4.1
- MongoDB Go Driver v2.8.2
- MongoDB Rust Driver – rilis v3.8.2
- MongoDB C Driver – rilis 2.5.1
- MongoDB C# Driver 3.11.1 (NuGet)