Mungkin sedikit usang, tapi bagi website yang tidak selalu diupdate, bug Content Injection yang dimiliki WordPress sebelum versi 4.7.2 agaknya lumayan konyol untuk tidak dibahas.

Apa itu Content Injection?

Secara sederhana adalah proses ilegal untuk membuat atau mengupdate sebuah post di WordPress dengan memanfaatkan bug di REST API milik WordPress. 

Seberapa parah?

Sangat parah, karena tanpa harus memiliki user di web tersebut (alias cuma pembaca/visitor saja) kita bisa update dan tulis konten sesukanya dengan REST API yang ngebug tadi.

Versi WordPress yang terpengaruh?

Semua, khususnya 4.7.0 dan 4.7.1, pokoknya sebelum versi 4.7.2

Ulasan lebih teknis, bisa anda simak disini.

Pertama, biang masalah adalah controller dari REST API Post, yang ada di file /wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php

Titik kelemahannya ada pada logika memproses ID yang dilempar ke REST API diatas. Jika pada asumsi normalnya, request REST itu seperti ini: /wp-json/wp/v2/posts/123, maka ID yang harus berupa digit/integer itu benar adanya. Namun jika request REST itu  sedikit dimodifikasi dengan menambah parameter $_GET id, dengan misalnya ?id=123hahaha maka ID yang akan diproses oleh REST API adalah 123hahaha. Anehnya, WordPress akan otomatis mengubah value itu menjadi integer, sehingga hanya menjadi 123 saja, berhak maupun tidak berhak anda mengubahnya (tidak perlu login atau punya user sama sekali).

Kog bisa? bisa, karena function yang digunakan seperti update_item dan update_item_permission_check ternyata memasukkan langsung value yang kita coba akali tadi langsung ke fungsi get_post() yang menjadi fungsi utama insert dan update tulisan di WordPress.

Oke, semoga sampai disini sudah paham. Dan bisa menerka-nerka sendiri, seperti apa proses kejahilan implementasinya nanti.

Tentang Solusinya dan Kewaspadaan

Solusinya simple, tinggal update ke versi 4.7.2 dan pantau terus update WordPress. Backup dan backup tiap saat2 penting.

Yang perlu diwaspadai, adalah aksi para spammer yang mulai memanfaatkan bug ini dengan mengupdate konten web sesuka mereka untuk mempromosikan produk dan link yang mereka jual. Hmm,

Sumber: Sucuri