Cảnh báo lỗ hổng bảo mật XSS trên plugins FB Messenger Live Chat của WORDPRESS

Một lỗ hổng bảo mật khá nghiêm trọng của plugins Live Chat with Facebook Messenger đã được phát hiện thời gian gần đây. Lỗ hổng này cho phép tin tặc thay đổi các thiết lập của plugins mà không cần phải đăng nhập vào wp-admin.
Facebook Livechat XSS Bug
Lỗ hổng được khai thác thông qua function update_zb_fbc_code (), lỗ hổng này , có thể truy cập thông qua chức năng AJAX của WordPress mà không cần phải đăng nhập.

add_action("wp_ajax_update_zb_fbc_code", "update_zb_fbc_code");
add_action("wp_ajax_nopriv_update_zb_fbc_code", "update_zb_fbc_code");

Chức năng này đã không được filter một cách đầy đủ để có thể ngăn chặn một cuộc tấn công CSRF trước khi cho phép thay đổi cài đặt:

function update_zb_fbc_code(){
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Credentials: true');
$domain = addslashes($_REQUEST['domain']);
$public_key = addslashes($_REQUEST['access']);
$id = intval($_REQUEST['customer']);
$zbEmail = addslashes($_REQUEST['email']);
if(!isset($domain) || empty($domain)){
header("Location: ".admin_url()."admin.php?page=zb_fbc");
}else{
update_option( 'ztb_domainid', $domain );
update_option( 'ztb_access_key', $public_key );
update_option( 'ztb_id', $id );
update_option( 'ztb_email', $zbEmail );
update_option( 'ztb_status_disconnect', 2 );
wp_send_json( array(
'error' => false,
'message' => 'Update Zotabox embedded code successful !'
)
);
}
}

Như chúng ta có thể dễ dàng nhận thấy, function trên chỉ sử dụng hàm addlash () để filter dữ liệu, và điều đó là không đủ để ngăn chặn các cuộc tấn công.

Theo ước tính có khoảng 30000 người đã tải và cài đặt plugins này. Và hiện tại theo ghi nhận của Tốc Độ Việt trong thời gian vừa qua thì có rất nhiều khách hàng sử dụng plugins này bị hacker tấn công và chèn thêm các đoạn script redirect, việc này dẫn đến khi truy cập website sẽ bị redirect sang một website khác.

Tốc Độ Việt khuyến nghị khách hàng nên update plugins lên phiên bản mới nhất hoặc gỡ bỏ plugins này ra khỏi website để tránh nguy cơ bị khai thác.