Pendahuluan

Aplikasi Human Resource Management System (HRMS) digunakan untuk mengelola data penting seperti data karyawan, jabatan, proyek, hingga informasi internal perusahaan. Karena menyimpan data sensitif, keamanan aplikasi HRMS menjadi sangat krusial.

CVE-2025-48868 adalah sebuah kerentanan serius yang ditemukan pada Horilla HRMS, sebuah platform HRMS open-source. Jika tidak segera diperbaiki, celah ini dapat dimanfaatkan penyerang untuk menjalankan perintah berbahaya di server.

Ringkasan CVE-2025-48868

CVE-2025-48868 merupakan kerentanan Authenticated Remote Code Execution (RCE) pada Horilla versi 1.3.0.

Masalah ini terjadi karena aplikasi menggunakan fungsi eval() pada Python untuk memproses parameter yang dikirim oleh pengguna. Jika parameter tersebut dimanipulasi, penyerang dapat menyisipkan kode berbahaya yang kemudian dieksekusi oleh server.

Kerentanan ini sudah diperbaiki pada Horilla versi 1.3.1.

Penyebab Teknis Kerentanan

Secara sederhana, penyebabnya adalah penggunaan fungsi eval() yang tidak aman.

  • eval() berfungsi untuk mengeksekusi string sebagai kode Python.

  • Jika input pengguna dimasukkan langsung ke eval(), maka:

    • Input normal → aplikasi berjalan seperti biasa

    • Input berbahaya → kode berbahaya ikut dijalankan

Pada Horilla, fungsi ini digunakan di fitur project bulk archive, dan inputnya bisa dikontrol oleh pengguna yang sudah login dengan hak tertentu.

Masalah ini dikategorikan sebagai:

  • CWE-95 – Eval Injection

Akses dan Skenario Serangan

Agar bisa mengeksploitasi CVE-2025-48868, penyerang perlu:

  1. Memiliki akun dengan hak akses tinggi (misalnya admin atau user tertentu).

  2. Mengirim permintaan berisi payload berbahaya ke parameter yang diproses oleh eval().

  3. Server mengeksekusi payload tersebut tanpa validasi yang memadai.

Meskipun mode debug aplikasi dimatikan (DEBUG=False), serangan tetap bisa dilakukan menggunakan teknik blind payload, seperti reverse shell.

Dampak dan Risiko

Jika kerentanan ini berhasil dieksploitasi, dampaknya sangat serius, antara lain:

  • Remote Code Execution (RCE): penyerang bisa menjalankan perintah di server

  • Kebocoran data sensitif karyawan

  • Manipulasi data HR (proyek, user, struktur organisasi)

  • Server dijadikan titik awal serangan ke sistem internal lain

  • Gangguan operasional sistem HR perusahaan

Tingkat Keparahan (Severity)

CVE-2025-48868 memiliki skor CVSS v3.1 sebesar 7.2 (High).

Artinya:

  • Kerentanan ini tidak bisa dianggap remeh

  • Walaupun butuh autentikasi, dampaknya sangat besar jika berhasil dieksploitasi

Solusi dan Mitigasi

Langkah paling penting dan utama adalah:

  • Upgrade Horilla ke versi 1.3.1 atau lebih baru

Selain itu, beberapa mitigasi tambahan yang disarankan:

  • Hindari penggunaan eval() pada input pengguna

  • Terapkan validasi dan sanitasi input secara ketat

  • Batasi penggunaan akun dengan hak akses tinggi

  • Pisahkan lingkungan produksi dan pengujian

Rekomendasi untuk Administrator

Agar sistem tetap aman, administrator sebaiknya:

  • Memberikan akses admin hanya kepada staf yang benar-benar tepercaya

  • Melakukan audit aktivitas admin secara berkala

  • Mengaktifkan logging dan monitoring

  • Menggunakan WAF (Web Application Firewall) sebagai lapisan perlindungan tambahan

  • Selalu mengikuti update keamanan dari pengembang Horilla

Kesimpulan

CVE-2025-48868 menunjukkan betapa berbahayanya penggunaan fungsi seperti eval() tanpa pengamanan yang tepat. Meski membutuhkan autentikasi, kerentanan ini tetap berisiko tinggi karena memungkinkan eksekusi kode jarak jauh.

Dengan melakukan pembaruan ke versi terbaru dan menerapkan praktik keamanan yang baik, risiko eksploitasi kerentanan ini dapat dicegah.