Loading...

Peringatan Ancaman

Kerentanan Kritis di Library Node.js “systeminformation” Bisa Picu Command Injection di Windows
Peringatan Ancaman Pengarang : MR 19 Des 2025 10:12

Library systeminformation untuk Node.js dilaporkan memiliki kerentanan serius CVE-2025-68154 yang dapat dimanfaatkan penyerang untuk menjalankan perintah arbitrer (command injection) di sistem Windows. Library ini sangat populer dan dipakai jutaan aplikasi untuk membaca informasi sistem dan filesystem, sehingga dampaknya berpotensi luas.​

Di mana letak masalahnya?

Bug ini berada di fungsi fsSize() pada platform Windows. Fungsi tersebut mendukung parameter opsional drive untuk menentukan drive mana yang ingin dicek. Masalah muncul karena nilai parameter drive langsung disambungkan ke perintah PowerShell tanpa sanitasi yang memadai.​

Artinya, jika ada aplikasi yang:

  • Menerima input drive dari pengguna (misalnya lewat form, CLI, atau parameter API), lalu

  • Meneruskan input itu apa adanya ke fsSize()

maka penyerang bisa memasukkan karakter berbahaya untuk menyuntikkan perintah tambahan ke dalam command PowerShell. Ini adalah skenario klasik command injection yang dapat berujung pada eksekusi perintah apa pun dengan hak akses proses Node.js yang berjalan.​

Dampak bagi aplikasi dan infrastruktur

Jika kerentanan ini dieksploitasi, penyerang berpotensi:​

  • Menjalankan perintah sistem (PowerShell/cmd) di server dengan hak akses aplikasi Node.js

  • Mengakses dan mengekfiltrasi data sensitif dari server

  • Mengunduh dan menjalankan malware atau ransomware

  • Melakukan lateral movement ke sistem lain di dalam jaringan

Aplikasi yang paling berisiko adalah:

  • Dashboard monitoring atau panel admin yang mengizinkan pengguna memilih drive/path untuk dicek

  • CLI tools yang menerima argumen drive dari user tanpa validasi

  • Web service/API yang mengekspos endpoint untuk memeriksa kapasitas disk berdasarkan input klien

Versi yang harus diupdate

Kerentanan ini telah diperbaiki di rilis terbaru systeminformation. Disarankan kuat untuk:

  • Update library systeminformation ke versi 5.27.14 atau yang lebih baru di semua proyek yang berjalan di Windows.​

Pastikan proses build & deploy (CI/CD) ikut menarik versi terbaru, dan tidak terkunci di versi lama rentan (mis. lewat package-lock.json atau pnpm-lock.yaml).

Rekomendasi untuk developer dan admin

Selain update versi, beberapa langkah mitigasi yang dianjurkan:

  • Audit kode:

    • Cari semua pemanggilan fsSize() (dan fungsi lain yang memanggil shell/PowerShell)

    • Pastikan tidak ada input eksternal yang diteruskan langsung tanpa validasi

  • Validasi dan whitelist input:

    • Jika memang harus menerima input drive (misalnya C:, D:), gunakan whitelist dan regex ketat

    • Tolak karakter seperti &, |, ;, backtick, atau tanda kutip yang sering dipakai untuk chaining perintah

  • Prinsip least privilege:

    • Jalankan proses Node.js dengan hak minimal, bukan sebagai admin/system

    • Gunakan akun service terpisah untuk membatasi dampak jika RCE terjadi

  • Monitoring & logging:

    • Pantau log untuk perintah PowerShell mencurigakan yang dipicu dari proses Node.js

    • Integrasikan EDR/antivirus yang mampu mendeteksi command-line abnormal dan eksekusi skrip berbahaya

Penutup

Karena systeminformation digunakan secara luas di ekosistem Node.js untuk kebutuhan observabilitas dan monitoring, kerentanan CVE-2025-68154 menjadi risiko strategis—terutama di lingkungan Windows yang mengekspos input pengguna ke fungsi ini. Update library ke versi 5.27.14+ dan penerapan validasi input yang ketat adalah langkah minimum yang perlu segera dilakukan untuk menutup celah command injection ini.​

Referensi:

  • Laporan teknis dan ringkasan kerentanan “Node.js alert: systeminformation flaw risks Windows RCE for 16M monthly users (CVE-2025-68154)” dari SecurityOnline.

Berita Lainnya