Peneliti keamanan Semmle, Man Yue Mo telah mengungkapkan kerentanan baru Apache Struts, yaitu kerentanan kritis remote-code-execution dalam framework aplikasi web Apache Struts populer yang dapat memungkinkan penyerang untuk menjalankan kode berbahaya pada server yang terpengaruh.
Kerentanan (CVE-2018-11776) berada dalam inti dari Apache Struts dan berasal karena validasi yang tidak memadai dari input tak terpercaya yang disediakan oleh pengguna di inti framework Struts di bawah konfigurasi tertentu.
Eksploitasi Apache Struts yang baru ditemukan dapat dipicu hanya dengan mengunjungi URL yang dibuat khusus pada server web yang terpengaruh, memungkinkan penyerang untuk mengeksekusi kode berbahaya dan akhirnya mengambil kendali penuh atas server yang rentan.
Semua aplikasi yang menggunakan Apache Struts — versi yang didukung (Struts 2.3 sampai Struts 2.3.34, dan Struts 2.5 sampai Struts 2.5.16) dan bahkan beberapa versi Apache Struts yang sudah tidak didukung — berpotensi rentan terhadap kerentanan ini, bahkan ketika tidak ada plugin tambahan yang diaktifkan.
“Kerentanan ini mempengaruhi titik akhir Struts yang biasa digunakan, yang kemungkinan akan terbuka, membuka vektor serangan ke peretas berbahaya,” kata Yue Mo.
Implementasi Apache Struts rentan terhadap kerentanan RCE baru ini jika memenuhi hal berikut:
- Flag alwaysSelectFullNamespace di set ke true dalam konfigurasi Struts.
- File konfigurasi Struts berisi tag “action” atau “url” yang tidak menentukan atribut namespace opsional atau menentukan namespace wildcard.
Menurut peneliti, bahkan jika aplikasi saat ini tidak rentan, “perubahan yang tidak disengaja ke file konfigurasi Struts dapat membuat aplikasi rentan di masa mendatang.”
Inilah Mengapa Harus Menanggapi Eksploitasi Apache Struts Dengan Serius
Kurang dari setahun yang lalu, lembaga Equifax mengekspos secara tidak sengaja rincian pribadi dari 147 juta konsumennya karena kegagalan mereka memperbaiki kerentanan Apache Struts serupa yang diungkapkan awal tahun itu (CVE-2017-5638). Data breach Equifax tersebut merugikan perusahaan lebih dari $600 juta.
“Struts digunakan untuk situs web yang dapat diakses oleh publik, sistem rentan mudah diidentifikasi, dan kerentanan mudah dieksploitasi,” kata Pavel Avgustinov, Co-founder & VP dari QL Engineering di Semmle.
“Seorang peretas dapat menemukan jalan mereka dalam beberapa menit, dan mengeksfiltrasi data atau mementaskan serangan lebih lanjut dari sistem yang disusupi.”
Perbaikan Dirilis Untuk Mengatasi Kerentanan Baru Apache Struts Ini
Apache Struts telah memperbaiki kerentanan baru ini dengan merilis versi Struts 2.3.35 dan 2.5.17. Organisasi dan pengembang yang menggunakan Apache Struts sangat disarankan untuk meng-upgrade komponen Struts sesegera mungkin ke versi terbaru, bahkan jika mereka yakin konfigurasi mereka tidak rentan sekarang.
Proof of Concept


Seorang peneliti keamanan beberapa hari yang lalu telah merilis PoC eksploitasi untuk kerentanan baru Apache Struts (CVE-2018-11776) ini.