Cảnh báo Hacking

[CẢNH BÁO] Lỗ hổng Code Execution ở chức năng Delete File trong nền tảng WordPress

WordPress là nền tảng CMS phổ biến nhất. Theo w3tech, nó được sử dụng bởi 30% Website. Trong bài này chúng tôi sẽ giới thiệu một lỗ hổng ở chứng năng xóa file có thể cho phép những kẻ tấn công thực thi các đoạn code tùy ý. Lỗ hổng này đã được báo cáo tới WordPress 7 tháng trước nhưng vẫn chưa được vá. Do vậy chúng tôi quyết định công bố chúng.

Lưu ý: Đây không phải lỗ hổng do Linux Team Việt Nam phát hiện ra, lỗ hổng được phát hiện bởi Slavco Mihajloski và Karim El Ouerghemmi. Linux Team Việt Nam chỉ dịch bài cảnh báo của họ ra Tiếng Việt

Phiên bản nào sẽ bị ảnh hưởng

Tại thời điểm này, mọi phiên bản của WordPress (Bao gồm cả phiên bản mới nhất – 4.9.6) đều bị mắc lỗ hổng.

Để có thể khai thác lỗ hổng này, các attacker cần 1 tài khoản trên trang web đó với Role (Vai trò) thấp nhất là Author (tác giả) hoặc có thể tất công qua những lỗ hổng hoặc việc sơ suất trong cấu hình khác.

Hacker có thể làm được những gì

Khai thác được lỗ hổng này cho phép Hacker có thể xóa bất kì file nào trong bộ source code của WordPress (Cộng thêm bất cứ file nào mà người dùng tiến trình PHP có quyền xóa). Cụ thể nhất, các file dưới đây có thể bị xóa

  • .htaccess: Khi bị xóa file .htaccess có thể loại bỏ đi một số tùy chọn bảo mật trên server của bjan
  • index.php: Khi bị xóa file này đi, hacker có thể xem danh sách các file trên Server của bạn
  • wp-config.php: Khi bị xóa file này đi, wordpress trên server bạn coi như là chưa được cài đặt và hacker có thể tự cài đặt WordPress với tên đăng nhập và mật khẩu tùy thích

Video POC

https://www.youtube.com/watch?v=7H5PFL8ZZ6c&feature=youtu.be

Thông tin kĩ thuật

Lỗ hổng trên file /wp-includes/post.php

Lỗ hổng trên file /wp-admin/post.php

Cách fix lỗi tạm thời

Thêm đoạn sau đây vào file functions.php của theme/child-theme bạn đang sử dụng

add_filter( ‘wp_update_attachment_metadata’, ‘rips_unlink_tempfix’ );

function rips_unlink_tempfix( $data ) {
if( isset($data[‘thumb’]) ) {
$data[‘thumb’] = basename($data[‘thumb’]);
}

return $data;
}

Bài viết gốc: WARNING: WordPress File Delete to Code Execution

Dịch bởi: Nguyễn Anh Kiệt

 

Visits: 1715