Peneliti keamanan Hacker Hukum Dawid Golunski telah menerbitkan rincian kerentanan pengaturan ulang kata sandi yang tidak sah di inti WordPress. Golunski mendemonstrasikan bagaimana, dalam keadaan tertentu, penyerang dapat mencegat email pengaturan ulang kata sandi dan mendapatkan akses ke akun pengguna.

Buktinya konsep memanfaatkan WordPress menggunakan variabel SERVER_NAME untuk mendapatkan nama host server untuk membuat tajuk Dari / Return-Path e-mail pengaturan ulang kata sandi keluar.

Server web utama seperti Apache menyetel variabel SERVER_NAME secara default menggunakan nama host yang disediakan oleh klien (dalam tajuk HTTP_HOST):

Https://httpd.apache.org/docs/2.4/mod/core.html#usecanonicalname

Karena SERVER_NAME dapat dimodifikasi, penyerang dapat mengonfigurasinya dalam domain sewenang-wenang pilihannya, misalnya:

Attackers-mxserver.com

Yang akan memberikan WordPress konfigurasi $ from_email ke

[email dilindungi]

Dan menyebabkan email keluar dengan jalur Return / Return-Path pada alamat berbahaya itu.

Hasil dari serangan khusus ini akan bergantung pada lingkungan server, konfigurasi spesifik server email, dan dalam beberapa kasus memerlukan interaksi pengguna. Laporan Golunski mencakup perincian yang lebih spesifik tentang kemungkinan metode yang dapat digunakan.

Setelah melaporkan masalah tersebut ke tim keamanan WordPress pada Juli 2016 dan juga melalui situs jaringan HackerOne, Golunski tidak melihat kemajuan dan memutuskan untuk melakukannya menerbitkan rincian kerentanan kepada publik.

Meskipun belum ada patch resmi, bintang keamanan WordPress Aaron Campbell mengatakan masalahnya tidak seserius mungkin.

« Ini adalah masalah dengan prioritas lebih rendah, tetapi kami menyadarinya dan ada dalam antrean kamiKata Campbell. Dia menjelaskan serangkaian kondisi unik yang diperlukan untuk menjadi kerentanan yang serius.

« Agar masalah berdampak pada keamanan, server harus mengizinkan tajuk yang disediakan pengguna untuk diganti $ _SERVER ['SERVER_NAME']Kata Campbell. "Kami menganggap konfigurasi server tidak memadai (seperti 'display_errors' jika berlaku di server produksi), yang sayangnya di luar kendali kami."

Campbell telah menguji server Apache dan nginx pribadinya dan tidak satupun dari mereka telah dilisensikan untuk ini. Selain memiliki server yang salah konfigurasi, Campbell mengatakan bahwa salah satu tindakan berikut juga harus terjadi:

  • Seorang pengguna harus membalas email atur ulang kata sandi
  • Balasan otomatis harus membalas email dan menyertakan yang asli
  • Server email harus disusupi atau kelebihan beban dan pesan dikembalikan ke pengirim dengan isi utuh

« Jika server Anda rentan dan Anda tidak memiliki kemampuan untuk memperbaiki konfigurasi server, Anda tetap tidak perlu melakukan perubahan apa pun pada file WordPress untuk mengatasi masalah tersebut.Kata Campbell. "Sedikit PHP seperti ini dalam sebuah plugin akan menentukan alamat email statis pilihan Anda:"

add_filter ('wp_mail_from', function ($ from_email) {return '[email dilindungi]'; });

Campbell mengatakan setiap perubahan yang dibuat WordPress pada kernel kemungkinan akan datang melalui tiket yang saat ini melacak masalah tanpa perspektif keamanan. Dia mengatakan perbaikan kemungkinan tidak akan terjadi pada rilis keamanan berikutnya, tetapi tim secara aktif mengerjakannya. Jika mereka menemukan mitigasi yang baik untuk masalah tersebut, Campbell mengatakan mereka akan membagikannya setelah mereka mengatasi segala kemungkinan konsekuensi.

Dan kau ? Apa pendapat Anda tentang kerentanan ini?