
- CVE-2025-12735 di expr-eval memungkinkan eksekusi kode jarak jauh melalui evaluasi input yang tidak aman
- Versi rentan ≤2.0.2; ditambal di 2.0.3 dan bercabang di expr-eval-fork 3.0.0
- Pengembang harus membersihkan variabel dan menghindari masukan yang tidak tepercaya dalam panggilan evaluasi()
Pustaka JavaScript yang banyak digunakan ditemukan membawa kerentanan kritis yang memungkinkan pelaku ancaman mengeksekusi kode berbahaya dari jarak jauh.
Peneliti keamanan Jangwoo Choe menemukan bug “validasi input tidak mencukupi” di expr-eval, perpustakaan dengan lebih dari 800.000 unduhan mingguan di NPM. Ini mem-parsing dan mengevaluasi ekspresi matematika dari string, dan memungkinkan pengembang menghitung rumus yang dimasukkan pengguna dengan aman. Umumnya, skrip digunakan dalam aplikasi web untuk kalkulator, alat analisis data, dan logika berbasis ekspresi.
Kerentanan tersebut diberi skor tingkat keparahan 9,8/10 (kritis) dan kini dilacak sebagai CVE-2025-12735. CERT/CC dan pelacak industri mengklasifikasikan bug ini sebagai bug berdampak tinggi: mengklaim bahwa bug tersebut dapat dieksploitasi dari jarak jauh, tidak memerlukan hak istimewa atau interaksi pengguna, dan dapat menyebabkan kompromi penuh terhadap kerahasiaan, integritas, dan ketersediaan.
Perbaikan dan mitigasi
“Kemampuan ini bisa dimanfaatkan untuk melakukan injeksi kode berbahaya yang menjalankan perintah tingkat sistem, berpotensi mengakses sumber daya lokal yang sensitif atau mengambil data,” demikian bunyi penasehat CERT. “Masalah ini telah diperbaiki melalui Pull Request #288.”
Akar penyebab masalah ini berasal dari perpustakaan yang mengizinkan objek fungsi dan nilai berbahaya lainnya ke dalam konteks evaluasi, sehingga penyerang yang dapat memengaruhi objek variabel dapat menyediakan fungsi yang keluar dari kotak pasir dan mengeksekusi JavaScript secara sewenang-wenang.
Semua versi hingga, dan termasuk perpustakaan 2.0.2 dikatakan rentan, dengan perbaikan tersedia pada versi 2.0.3 dan yang lebih baru.
Pengguna juga dapat memitigasi risiko dengan bermigrasi ke fork expr-eval-fork yang dipelihara secara aktif, versi 3.0.0. Pengguna yang aplikasinya memanggil evaluasi() pada input yang disediakan pengguna dan input tidak tepercaya juga harus segera berhenti memasukkan data yang tidak tepercaya ke dalamnya, dan membungkus atau membersihkan objek variabel sehingga fungsi dan bidang modifikasi prototipe tidak dapat dimasukkan.
Perpustakaan menikmati popularitas yang luas. Menurut npmjs.com, saat ini digunakan di lebih dari 250 proyek.
Melalui BleepingComputer
Antivirus terbaik untuk semua anggaran
Ikuti TechRadar di Google Berita Dan tambahkan kami sebagai sumber pilihan untuk mendapatkan berita, ulasan, dan opini pakar kami di feed Anda. Pastikan untuk mengklik tombol Ikuti!
Dan tentu saja Anda juga bisa Ikuti TechRadar di TikTok untuk berita, review, unboxing dalam bentuk video, dan dapatkan update rutin dari kami Ada apa juga.



