Security

Pustaka JavaScript Populer ‘expr-eval’ Rentan Terhadap Serangan Eksekusi Kode Jarak Jauh (RCE)

Sebuah kerentanan kritis ditemukan pada pustaka JavaScript populer bernama expr-eval, yang digunakan lebih dari 800.000 kali unduhan per minggu di platform NPM. Celah ini memungkinkan penyerang mengeksekusi kode berbahaya dari jarak jauh melalui input yang dimanipulasi secara khusus.

Kerentanan tersebut dilacak dengan identitas CVE-2025-12735 dan ditemukan oleh peneliti keamanan Jangwoo Choe. Berdasarkan penilaian dari U.S. Cybersecurity and Infrastructure Security Agency (CISA), tingkat keparahannya dikategorikan kritis dengan skor 9,8.

Tentang expr-eval dan Penggunaannya

expr-eval awalnya dikembangkan oleh Matthew Crumley sebagai expression parser and evaluator berukuran kecil untuk JavaScript. Pustaka ini banyak digunakan untuk melakukan parsing dan evaluasi ekspresi matematika dari input pengguna secara aman pada saat runtime.

Beberapa contoh penerapan expr-eval meliputi:

  • Kalkulator daring dan alat edukasi,
  • Aplikasi simulasi dan finansial,
  • Sistem kecerdasan buatan (AI) dan pemrosesan bahasa alami (NLP) yang membutuhkan evaluasi ekspresi numerik dari teks masukan.

Rincian Kerentanan

Menurut CERT Coordination Center (CERT-CC) dari Carnegie Mellon University, celah ini disebabkan oleh kegagalan pustaka dalam memvalidasi variabel atau objek konteks yang diteruskan ke fungsi Parser.evaluate().
Kelemahan tersebut memungkinkan penyerang menyuntikkan objek fungsi berbahaya yang akan dijalankan oleh parser saat proses evaluasi.

CERT-CC menjelaskan dampak dari eksploitasi ini sangat serius:

“Kerentanan ini memberi penyerang kendali penuh atas perilaku perangkat lunak atau akses total terhadap seluruh informasi pada sistem yang terdampak.”

Versi yang Terdampak dan Patch Keamanan

Kerentanan CVE-2025-12735 memengaruhi:

  • expr-eval versi asli (stabil terakhir dirilis sekitar enam tahun lalu), dan
  • expr-eval-fork, versi turunan yang masih aktif dikembangkan dengan lebih dari 80.000 unduhan mingguan di NPM.

Pembaruan keamanan telah dirilis pada expr-eval-fork versi 3.0.0, yang memperkenalkan beberapa perbaikan penting, termasuk:

  • Allowlist fungsi yang aman untuk evaluasi,
  • Sistem registrasi untuk fungsi kustom,
  • Peningkatan cakupan pengujian (test coverage) guna memastikan pembatasan tersebut berfungsi dengan benar.

Bagi pengguna pustaka expr-eval versi lama, tersedia pull request yang mengimplementasikan perbaikan ini. Namun, karena pengelola proyek utama belum memberikan respons, belum diketahui kapan pembaruan resmi akan dirilis.

Rekomendasi untuk Pengembang

Pengembang yang menggunakan expr-eval disarankan untuk segera bermigrasi ke versi expr-eval-fork v3.0.0 dan memperbarui pustaka mereka di NPM agar pengguna akhir menerima versi yang sudah diperbaiki. Langkah ini penting untuk mencegah kemungkinan serangan RCE yang dapat menimbulkan dampak luas, terutama pada aplikasi berbasis cloud dan layanan web yang memproses input pengguna secara langsung.


Sumber: BleepingComputer

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button