Kerentanan PHP Remote Code Execution (RCE – eksekusi kode jarak jauh) untuk Windows baru terungkap, berdampak pada semua rilisan mulai versi 5.x, yang berdampak pada semua server di seluruh dunia.
PHP merupakan bahasa pemrograman open source yang banyak digunakan untuk pengembangan web dan umum digunakan pada server Windows dan Linux.
Cacat RCE baru yang dilacak sebagai CVE-2024-4577, ditemukan oleh Peneliti Keamanan Devcore Principal Security Researcher Orange Tsai pada 7 Mei 2024, dan melaporkannya ke pengembang PHP.
Pengelola proyek PHP telah merilis patch kemarin untuk mengatasi kerentanan tersebut. Namun, penerapan pembaruan keamanan pada proyek itu dalam skala besar adalah masalah yang rumit dan berpotensi membuat kerentanan baru pada sistem berdampak serangan kedepannya.
Namun, ketika ditemukan kerentanan kritis yang berdampak pada banyak perangkat, para pelaku ancaman dan peneliti mulai juga berupaya menemukan sistem yang rentan.
Seperti halnya dengan CVE-2024-4577, The Shadowserver Foundation mengungkapkan telah mendeteksi beberapa alamat IP yang memindai server yang rentan.
Attention! We see multiple IPs testing PHP/PHP-CGI CVE-2024-4577 (Argument Injection Vulnerability) against our honeypot sensors starting today, June 7th. Vulnerability affects PHP running on Windows.
Patches released June 6th: https://t.co/jM5HgGUZJF
Exploit PoC is public.
— The Shadowserver Foundation (@Shadowserver) June 7, 2024
Cacat CVE-2024-4577
Cacat CVE-2024-4577 disebabkan oleh kelalaian dalam menangani konversi pengkodean karakter, khususnya fitur ‘Best-Fit’ di Windows saat PHP digunakan dalam mode CGI.
“Saat mengimplementasikan PHP, tim tidak memperhatikan fitur Best-Fit untuk konversi pengkodean dalam sistem operasi Windows,” jelas penasihat DevCore.
“Kondisi ini memungkinkan penyerang yang tidak diautentikasi untuk melewati perlindungan CVE-2012-1823 yang sebelumnya telah meneraptkan urutan karakter tertentu. Kode arbitrer dapat dieksekusi pada server PHP secara remote melalui serangan injeksi argumen.”
Cacat ini membuka perlindungan yang telah diterapkan tim PHP di masa lalu untuk CVE-2012-1823, yang dieksploitasi dalam serangan malware beberapa tahun silam.
Analis menjelaskan bahwa meskipun PHP tidak dikonfigurasi dalam mode CGI, CVE-2024-4577 mungkin masih dapat dieksploitasi selama executable PHP (misalnya, php.exe atau php-cgi.exe) berada di direktori yang dapat diakses oleh server web.
Karena ini adalah konfigurasi default pada XAMPP untuk Windows, DEVCORE memperingatkan bahwa semua instalasi XAMPP pada Windows kemungkinan besar rentan.
Masalahnya menjadi lebih buruk ketika lokasi tertentu yang lebih rentan terhadap kelemahan konversi pengkodean ini digunakan, termasuk bahasa Cina Tradisional, Cina Sederhana, dan Jepang.
Seperti yang dikatakan Devcore, kerentanan CVE-2024-4577 berdampak pada semua versi PHP untuk Windows, jika Anda menggunakan PHP 8.0 (End of Life), PHP 7.x (EoL), atau PHP 5.x (EoL), Anda memerlukannya. untuk meningkatkan ke versi yang lebih baru atau menggunakan mitigasi yang dijelaskan di bawah.
Strategi Mengamankan
Mereka yang menggunakan versi PHP yang didukung harus meningkatkan ke versi yang menyertakan patch: PHP 8.3.8, PHP 8.2.20, dan PHP 8.1.29.
Untuk sistem yang tidak dapat segera diupgrade dan pengguna versi EoL (End of Live), disarankan untuk menerapkan aturan mod_rewrite untuk memblokir serangan, seperti berikut:
RewriteEngine On RewriteCond %{QUERY_STRING} ^%ad [NC] RewriteRule .? – [F,L]
Jika Anda menggunakan XAMPP dan tidak memerlukan fitur PHP CGI, temukan direktif ‘ScriptAlias’ di file konfigurasi Apache (biasanya di ‘C:/xampp/Apache/conf/extra/httpd-xampp.conf’) dan beri komentar .
Admin dapat menentukan apakah mereka menggunakan PHP-CGI dengan fungsi phpinfo() dan memeriksa nilai ‘Server API’ di output.
DEVCORE juga menyarankan agar administrator sistem mempertimbangkan untuk bermigrasi dari CGI ke alternatif yang lebih aman, seperti FastCGI, PHP-FPM, dan Mod-PHP.
Dikutip dari : Bleeping Computer