Kerentanan Plugin WP Insert Headers & Footers telah terjadi untuk kedua kalinya pada tahun 2023. Kerentanan ini dapat mengakibatkan seluruh file yang ada pada hosting menjadi terhapus.
Tentunya, jika file website terhapus maka website akan menjadi kosong melompong. Oleh karena itu, mari kita bahas mengenai kerentanan ini dan apa solusi atau alternatif yang tersedia.
Kerentanan Plugin WP Insert Headers & Footers
Plugin WordPress WP Code – Insert Headers and Footers + Custom Code Snippet, dengan lebih dari satu juta instalasi, ditemukan memiliki kerentanan yang memungkinkan penyerang menghapus file di server.
Peringatan kerentanan plugin WP ini telah terpublikasikan di National Vulnerability Database (NVD) Pemerintah Amerika Serikat.
Plugin WP Untuk Menyisipkan Kode pada Header dan Footer
Plugin WPCode (sebelumnya dikenal sebagai Insert Header and Footer oleh WPBeginner), adalah plugin populer yang memungkinkan pengguna website berbasis WordPress untuk menambahkan kode ke area header dan footer.
Ini berguna bagi pembuat website yang perlu menambahkan kode validasi situs Google Search Console, kode CSS, data terstruktur, bahkan kode AdSense.
Umumnya, plugin WP ini dibutuhkan bagi para penyedia jasa website di Indonesia yang menggunakan Elementor, Beaver, Oxygen Builder, Astra, dan sebagainya.
Alat pengembangan visual tersebut tidak memiliki fasilitas untuk menyisipkan kode pada header dan footer. Oleh karena itu, mereka membutuhkan plugin tersebut. Sayangnya, kerentan plugin WP tersebut telah terekspos sebanyak dua kali di tahun 2023 ini saja.
Kecuali untuk para pembuat website yang menggunakan alat pengembangan visual DIVI Builder, mereka sudah memiliki fasilitas untuk menyisipkan kode di header dan footer.
Kerentanan Cross-Site Request Forgery (CSRF)
Plugin WPCode – Insert headers and Footers sebelum versi 2.0.9 berisi apa yang telah diidentifikasi sebagai kerentanan Cross-Site Request Forgery (CSRF).
Serangan CSRF bergantung pada penipuan pengguna akhir yang terdaftar di situs WordPress untuk mengeklik tautan yang melakukan tindakan yang tidak diinginkan.
Penyerang pada dasarnya membonceng kredensial pengguna terdaftar untuk melakukan tindakan di situs tempat pengguna terdaftar.
Ketika pengguna WordPress yang masuk mengklik tautan yang berisi permintaan jahat, situs tersebut berkewajiban untuk melaksanakan permintaan tersebut karena mereka menggunakan browser dengan cookie yang mengidentifikasi pengguna dengan benar saat masuk.
Ini adalah tindakan jahat yang dilakukan oleh pengguna terdaftar yang tidak diketahui yang dilakukan oleh penyerang.
Proyek Keamanan Aplikasi Terbuka Seluruh Dunia (OWASP) nirlaba menjelaskan kerentanan CSRF:
“Cross-Site Request Forgery (CSRF) adalah serangan yang memaksa pengguna akhir untuk melakukan tindakan yang tidak diinginkan pada aplikasi web yang saat ini diautentikasi.
Dengan sedikit bantuan rekayasa sosial (seperti mengirim tautan melalui email atau obrolan), penyerang dapat mengelabui pengguna aplikasi web untuk menjalankan tindakan yang dipilih penyerang.
Jika korbannya adalah pengguna biasa, serangan CSRF yang berhasil dapat memaksa pengguna untuk melakukan permintaan perubahan status seperti mentransfer dana, mengubah alamat email, dan sebagainya.
Jika korbannya adalah akun administratif, CSRF dapat membahayakan seluruh aplikasi web.”
Situs web Common Weakness Enumeration (CWE), yang disponsori oleh Departemen Keamanan Dalam Negeri Amerika Serikat, menawarkan definisi CSRF semacam ini:
“Aplikasi web tidak, atau tidak dapat, cukup memverifikasi apakah permintaan yang dibuat dengan baik, valid, dan konsisten sengaja diberikan oleh pengguna yang mengajukan permintaan.
… Ketika server web dirancang untuk menerima permintaan dari klien tanpa mekanisme apa pun untuk memverifikasi bahwa itu sengaja dikirim, maka penyerang mungkin dapat mengelabui klien agar membuat permintaan yang tidak disengaja ke server web yang akan ditangani sebagai permintaan otentik.
Ini dapat dilakukan melalui URL, pemuatan gambar, XMLHttpRequest, dll. dan dapat mengakibatkan pemaparan data atau eksekusi kode yang tidak diinginkan.”
Dalam kasus khusus ini, tindakan yang tidak diinginkan terbatas pada menghapus file log.
Database Kerentanan Nasional menerbitkan rincian kerentanan:
“Kerentanan Plugin WordPress WPCode sebelum 2.0.9 memiliki CSRF yang cacat saat menghapus log. Ini tidak memastikan bahwa file yang akan terhapus masih tersedia di dalam folder manapun.
Ini dapat memungkinkan penyerang membuat pengguna dengan kemampuan wpcode_activate_snippets menghapus file log arbitrer di server, termasuk di luar folder blog.”
Situs web WPScan (dimiliki oleh Automattic) menerbitkan bukti konsep kerentanan.
Bukti konsep, dalam konteks ini, adalah kode yang memverifikasi dan menunjukkan bahwa kerentanan dapat bekerja.
Ini adalah bukti konsep:
Buat pengguna yang masuk dengan kemampuan wpcode_activate_snippets buka URL di bawah ini
https://example.com/wp-admin/admin.php?page=wpcode-tools&view=logs&wpcode_action=delete_log&log=../../delete-me.log
Ini akan membuat mereka menghapus ~/wp-content/delete-me.log”
Kerentanan Kedua untuk 2023
Ini adalah kerentanan kedua yang ditemukan pada tahun 2023 untuk plugin WPCode Insert Headers and Footers.
Kerentanan lain ditemukan pada Februari 2023, memengaruhi versi 2.0.6 atau kurang, yang digambarkan oleh perusahaan keamanan WordPress Wordfence sebagai “Otorisasi Hilang untuk Pengungkapan/Pembaruan Kunci Sensitif.”
Menurut NVD, laporan kerentanan, kerentanan juga memengaruhi versi hingga 2.0.7.
NVD memperingatkan tentang kerentanan sebelumnya:
“Plugin WPCode WordPress sebelum 2.0.7 tidak memiliki pemeriksaan hak istimewa yang memadai untuk beberapa tindakan AJAX, hanya memeriksa nonce.
Hal ini dapat menyebabkan mengizinkan pengguna yang diautentikasi yang dapat mengedit posting untuk memanggil titik akhir yang terkait dengan otentikasi Perpustakaan WPCode (seperti memperbarui dan menghapus kunci autentikasi).”
WPCode Mengeluarkan Patch Keamanan
The Changelog for the WPCode – Plugin WordPress Insert Headers and Footers secara bertanggung jawab mencatat bahwa mereka menambal masalah keamanan.
Notasi changelog untuk pembaruan versi 2.0.9 menyatakan:
“Perbaiki: Pengetatan keamanan untuk menghapus log.”
Notasi changelog sangat penting. Ini karena memberi tahu pengguna plugin tentang konten pembaruan dan memungkinkan mereka membuat keputusan yang tepat apakah akan melanjutkan pembaruan atau menunggu hingga pembaruan berikutnya.
WPCode bertanggung jawab dengan menanggapi penemuan kerentanan plugin wp mereka secara tepat waktu. Selain itu, mereka juga mencatat perbaikan keamanan di changelog.
Tindakan yang Disarankan
Disarankan agar pengguna WPCode – plugin Insert headers and Footers memperbarui plugin mereka setidaknya ke versi 2.0.9.
Selain solusi tersebut, Anda juga dapat mulai beralih menggunakan DIVI Builder. Sehinga, Anda tidak perlu lagi menggunakan plugin insert code header dan footer.
Jika Anda mengalami file website yang terhapus di server atau hosting dan membutuhkan bantuan, silahkan hubungi kami untuk berkonsultasi.