Dua celah keamanan pada PHP, bahasa pemrograman sisi server yang menjadi tulang punggung sebagian besar situs web di dunia, menjadi sorotan komunitas keamanan siber. Kedua celah tersebut dinilai berpotensi memungkinkan penyerang mengeksekusi kode dari jarak jauh, mengambil alih server, hingga melumpuhkan layanan yang bergantung pada PHP. Skala dampaknya luas karena PHP tidak hanya digunakan langsung, tetapi juga menjadi fondasi bagi berbagai sistem manajemen konten dan kerangka kerja aplikasi web yang dipakai jutaan organisasi.
PHP dan Skala Penggunaan yang Masif
Berdasarkan data pemantauan teknologi web, PHP digunakan oleh sekitar tiga perempat dari seluruh situs web yang terdeteksi di internet. Angka itu menempatkan PHP jauh di atas bahasa pemrograman sisi server lainnya. Popularitas tersebut tidak terlepas dari kemudahan penerapan, dukungan komunitas yang besar, serta ekosistem perangkat lunak siap pakai seperti WordPress, Joomla, Drupal, hingga berbagai kerangka kerja pengembangan aplikasi.
Konsekuensinya, setiap kerentanan pada inti PHP memiliki jangkauan yang jauh melampaui pengguna langsungnya. Penyedia layanan hosting berbagi, lembaga pemerintah, platform perdagangan elektronik, hingga sistem internal perusahaan sering kali menjalankan versi PHP yang sama. Ketika sebuah celah ditemukan pada komponen inti, rantai dampaknya merambat ke lapisan aplikasi yang dibangun di atasnya.
Celah Pertama: Injeksi Argumen pada Mode CGI
Celah pertama berkaitan dengan cara PHP menangani argumen baris perintah ketika dijalankan dalam mode Common Gateway Interface (CGI) pada sistem operasi Windows. Dalam konfigurasi tertentu, penerjemahan karakter atau pemetaan best-fit pada halaman kode bahasa tertentu memungkinkan penyerang menyisipkan argumen tambahan ke dalam permintaan HTTP. Argumen itu kemudian diteruskan ke proses PHP yang sedang berjalan.
Dalam praktiknya, teknik tersebut dapat dimanfaatkan untuk memuat berkas konfigurasi berbahaya atau menjalankan kode yang dikendalikan penyerang. Penyerang tidak memerlukan autentikasi apa pun. Cukup mengirim permintaan yang dirancang khusus ke titik akhir yang rentan, dan eksekusi kode dapat terjadi di server target. Kerentanan ini tercatat sebagai CVE-2024-4577 dan telah dilaporkan dieksploitasi secara aktif di lapangan tidak lama setelah detail teknisnya dipublikasikan.
Dampaknya terutama dirasakan pada instalasi PHP di lingkungan Windows yang masih mengaktifkan mode CGI. Banyak organisasi mempertahankan konfigurasi tersebut karena alasan kompatibilitas dengan aplikasi lama, sehingga permukaan serangan tetap terbuka meskipun pembaruan telah tersedia.
Celah Kedua: Kelemahan pada Konversi Karakter
Celah kedua menyangkut mekanisme konversi karakter yang digunakan PHP melalui fungsi filter aliran data. Kelemahan pada pustaka konversi karakter yang menjadi dependensi PHP memungkinkan terjadinya penulisan memori di luar batas atau buffer overflow. Kondisi tersebut dapat dimanfaatkan untuk merusak alur eksekusi program dan pada akhirnya menjalankan kode berbahaya.
Kerentanan yang tercatat sebagai CVE-2024-2961 ini menarik perhatian karena dapat dipicu melalui teknik filter chain, yaitu rangkaian filter yang dirancang untuk mengubah data masukan sebelum diproses aplikasi. Teknik tersebut membuat celah dapat dieksploitasi bahkan pada aplikasi yang tampaknya tidak memiliki titik masuk berbahaya. Peneliti keamanan menunjukkan bahwa kombinasi filter tertentu dapat mengubah data masukan menjadi muatan yang merusak memori proses.
Yang membuat situasi semakin rumit, kelemahan ini bersumber dari pustaka di luar PHP itu sendiri. Artinya, pembaruan PHP saja tidak selalu cukup. Distribusi sistem operasi, citra kontainer, dan lingkungan hosting juga perlu memperbarui pustaka pendukung agar perlindungan berjalan menyeluruh.
Respons Pengembang dan Distribusi Perbaikan
Tim pengembang PHP telah merilis pembaruan pada sejumlah cabang versi untuk menutup kedua celah tersebut. Pengguna diminta segera melakukan pemutakhiran ke versi terbaru pada cabang yang masih didukung. Pengembang juga menyarankan peninjauan ulang konfigurasi, khususnya pada instalasi yang masih menggunakan mode CGI di Windows.
Namun, riwayat menunjukkan bahwa adopsi tambalan sering berjalan lambat. Banyak server masih menjalankan versi PHP yang telah melewati masa dukungan, bahkan versi yang tidak lagi menerima perbaikan keamanan. Penyedia hosting berbagi kerap menjadi titik lemah karena pengguna akhir tidak memiliki kendali penuh atas versi PHP yang digunakan.
Langkah Mitigasi yang Perlu Diperhatikan
Selain memperbarui PHP, administrator sistem disarankan menonaktifkan mode CGI apabila tidak diperlukan dan beralih ke konfigurasi yang lebih aman. Pembatasan akses ke berkas konfigurasi, penerapan aturan pada lapisan firewall aplikasi web, serta pemantauan log untuk mendeteksi pola permintaan mencurigakan dapat mengurangi risiko sementara sebelum tambalan diterapkan.
Bagi pengelola situs berbasis sistem manajemen konten, pemeriksaan versi PHP di lingkungan hosting menjadi langkah awal yang penting. Pengujian terhadap lingkungan praproduksi juga diperlukan agar pembaruan tidak mengganggu fungsi aplikasi yang sedang berjalan.
Kedua celah ini menegaskan bahwa keamanan bukan persoalan satu komponen. PHP sebagai fondasi sebagian besar web global bergantung pada rantai panjang perangkat lunak pendukung, mulai dari pustaka sistem operasi hingga konfigurasi server. Selama pembaruan tidak dilakukan secara merata, celah yang sama akan terus menjadi pintu masuk bagi upaya pengambilalihan situs di berbagai belahan dunia.
Komentar (0)