Lỗ hổng CSRF trong Elementor cho phép kẻ tấn công chiếm quyền điều khiển website khi Admin nhấn vào link lạ

Thông tin chi tiết về lỗ hổng bảo mật nghiêm trọng trong plugin Elementor Website Builder của WordPress đã được tiết lộ. Kẻ tấn công chưa xác thực có thể khai thác lỗi CSRF này để tạo tài khoản quản trị viên trái phép và chiếm quyền kiểm soát website khi quản trị viên nhấp vào liên kết độc hại. Lỗ hổng ảnh hưởng đến hơn 2 triệu trang web sử dụng phiên bản 4.3.0 và 4.3.1.
Lỗ hổng CSRF trong Elementor
Lỗ hổng trong Elementor đe dọa hàng triệu website WordPress

Thông tin chi tiết vừa được công bố về một lỗ hổng bảo mật mức độ nghiêm trọng cao trong plugin Elementor Website Builder dành cho WordPress. Lỗ hổng này có thể bị kẻ tấn công chưa xác thực khai thác để tạo các tài khoản quản trị viên trái phép và chiếm quyền kiểm soát trang web.

Lỗ hổng Cross-Site Request Forgery (CSRF) này hiện chưa được gán mã CVE, nhưng sở hữu mức điểm CVSS là 8,8 trên 10,0. Nó chỉ ảnh hưởng đến các phiên bản 4.3.0 và 4.3.1 của plugin, vốn đang được kích hoạt trên hơn 10 triệu trang web WordPress. Theo số liệu thống kê từ WordPress.org, chỉ riêng hai phiên bản bị ảnh hưởng này đã được cài đặt trên hơn 2 triệu trang web.

"Một liên kết duy nhất, khi được mở bởi người dùng WordPress đã đăng nhập, sẽ khiến người dùng đó thực hiện bất kỳ hành động REST API nào mà tài khoản của họ được phép thực hiện," Patchstack cho biết. "Trên một bản cài đặt mặc định, một quản trị viên nhấp vào liên kết sẽ vô tình tạo ra một tài khoản quản trị viên thứ hai cho kẻ tấn công."

Công ty bảo mật WordPress này lưu ý rằng cuộc tấn công không phụ thuộc vào bất kỳ điều kiện tiên quyết nào, chẳng hạn như JavaScript, biểu mẫu đã gửi hoặc trang web thuộc quyền kiểm soát của kẻ tấn công. Liên kết thậm chí có thể là một thẻ anchor văn bản thuần túy được nhúng trong email, tin nhắn trò chuyện hoặc phần bình luận.

Nguyên nhân và cách thức khai thác

Sau khi được báo cáo thông qua quy trình công bố có trách nhiệm, vấn đề đã được khắc phục trong phiên bản 4.3.2 phát hành vào đầu tuần này. Nhà nghiên cứu bảo mật với biệt danh "Saggre" được ghi nhận là người đã phát hiện và báo cáo lỗi này.

Theo Patchstack, lỗ hổng bắt nguồn từ việc mô-đun Editor Events bỏ qua lớp bảo vệ CSRF đối với các yêu cầu REST API xác thực bằng cookie (cookie-authenticated) bất cứ khi nào chuỗi ký tự "elementor/v1/events/" xuất hiện ở bất kỳ đâu trong URI của yêu cầu.

"Vì URI yêu cầu bao gồm cả chuỗi truy vấn (query string), và chuỗi truy vấn này do người soạn thảo liên kết tự ý viết, nên bất kỳ yêu cầu REST nào cũng có thể tự loại mình khỏi lớp bảo vệ đó bằng cách thêm vào một tham số trông có vẻ vô hại," các chuyên gia cho biết thêm.

Cơ chế bỏ qua bảo mật này ảnh hưởng đến toàn bộ bề mặt REST API của trang web, bao gồm các route lõi của WordPress và các route của mọi plugin khác được cài đặt. Kẻ tấn công có thể khai thác lỗ hổng này để tạo tài khoản quản trị viên thông qua "/wp/v2/users" bằng một yêu cầu có cấu trúc như sau:

https://example.com/wp-json/wp/v2/users
?_method=POST
&username=csrfadmin
&email=csrfadmin%40example.test
&password=...
&roles%5B%5D=administrator
&x=elementor/v1/events/

Do các phiên bản Elementor trước 4.3.0 không chứa Editor Events proxy, chúng không bị ảnh hưởng bởi lỗi này. Người dùng plugin được khuyến cáo nên cập nhật lên phiên bản mới nhất ngay lập tức để bảo vệ trang web khỏi các mối đe dọa tiềm tàng.