Bagi para pengembang Node.js dan security researcher, library simple-git tentu sudah tidak asing lagi. Library ini sangat memudahkan integrasi perintah Git ke dalam aplikasi. Namun, baru-baru ini ditemukan celah keamanan kritis yang diidentifikasi sebagai CVE-2026-6951.
Celah ini diklasifikasikan sebagai Improper Control of Generation of Code (CWE-94) yang dapat berujung pada Remote Code Execution (RCE). Mari kita bedah lebih dalam secara teknis namun sederhana.
Apa yang Sebenarnya Terjadi?
Masalah utama pada CVE-2026-6951 adalah perbaikan yang tidak sempurna (incomplete fix) dari kerentanan sebelumnya.
Pada kasus terdahulu, pengembang telah memblokir penggunaan opsi -c dalam argumen perintah untuk mencegah command injection. Namun, ditemukan bahwa penyerang masih bisa menggunakan varian panjang dari opsi tersebut, yaitu --config.
Analisis Teknis: Bypass via --config
Git memiliki fitur konfigurasi yang sangat fleksibel. Salah satu fitur yang cukup berisiko jika jatuh ke tangan yang salah adalah protocol.ext.allow.
Dalam eksploitasi CVE-2026-6951, penyerang dapat menyisipkan input berbahaya melalui argumen opsi yang diterima oleh simple-git. Dengan memanfaatkan --config, penyerang bisa mengatur konfigurasi Git secara dinamis saat perintah dijalankan:
Mengaktifkan Protokol Eksternal: Penyerang menyetel
protocol.ext.allow=always.Eksekusi Perintah: Menggunakan sumber clone dengan skema
ext::. Skema ini memungkinkan Git memanggil perintah sistem eksternal untuk menangani koneksi.
Jika aplikasi Anda menerima input dari pengguna (misalnya nama branch, URL repo, atau opsi tambahan) dan memasukkannya langsung ke fungsi simple-git tanpa validasi ketat, maka penyerang dapat mengeksekusi perintah arbitrer di server Anda.
Dampak Keamanan
Dengan skor CVSS 3.1: 9.8 (Critical), dampak dari celah ini sangat fatal:
Penyerang tidak memerlukan akun atau izin khusus.
Eksekusi kode memungkinkan penyerang mengambil alih server, mencuri data sensitif, hingga merusak integritas sistem.
Serangan ini dapat berjalan secara otomatis di latar belakang.
Langkah Mitigasi
Jika Anda mengelola proyek yang menggunakan simple-git, berikut adalah langkah krusial yang harus segera diambil:
Perbarui library
simple-gitAnda ke versi 3.36.0 atau yang lebih baru. Versi ini telah memblokir penggunaan--configpada argumen yang berisiko.Jangan pernah mempercayai input dari luar. Gunakan allowlist untuk argumen yang diizinkan dan validasi secara ketat setiap string yang masuk ke fungsi Git.
Jalankan aplikasi dengan hak akses minimal di level sistem operasi guna membatasi dampak jika terjadi kebocoran.



0 Komentar
Komentar baru yang perlu dimoderasi