Nếu website của bạn đang chạy Elementor bản 4.3.0 hoặc 4.3.1 thì mình khuyên bạn dừng đọc đoạn này vài giây, vào Dashboard cập nhật lên 4.3.2 ngay rồi quay lại đọc tiếp. Lỗ hổng CSRF mới này cho phép kẻ tấn công tạo tài khoản admin chỉ bằng một đường link lừng bạn bấm vào. Không cần JavaScript, không cần trang web trung gian, không cần form. Một link qua email, tin nhắn hay thậm chí một comment trên chính site của bạn là đủ.
Lỗ hổng CSRF Elementor này nguy hiểm như thế nào?

Đây là lỗi Cross-Site Request Forgery (CSRF) nằm trong module Editor Events của Elementor, được bug hunter có nickname Saggre báo cáo cho Patchstack ngày 22/9/2026 và Elementor vá sau đó hai ngày ở bản 4.3.2. Nó chỉ ảnh hưởng đến đúng hai bản 4.3.0 và 4.3.1, nhưng theo thống kê WordPress.org thì hai bản này đang chạy trên khoảng 2 triệu site. Với cài đặt mặc định, hậu quả tệ nhất là kẻ tấn công tạo được tài khoản administrator hoàn toàn dưới quyền kiểm soát của chúng.
Cơ chế bypass REST nonce hoạt động ra sao?
Theo phân tích của Patchstack, module Editor Events của Elementor kiểm tra raw request URI chứa đường dẫn elementor/v1/events/ và khi thấy chuỗi này thì bỏ qua bước xác thực REST nonce của WordPress. Vấn đề là URI cũng chứa các query parameter do kẻ tấn công kiểm soát. Vì vậy họ có thể nối đường dẫn đó vào request nhắm tới các REST endpoint khác và lừa người dùng đã đăng nhập thực thi các hành động với đúng quyền của tài khoản đó.
Nói cách khác, một link được mở bởi admin đang đăng nhập sẽ khiến admin đó thực hiện bất kỳ REST API action nào mà tài khoản admin được phép. Tạo user mới với role administrator là kịch bản phổ biến nhất.
Bạn kiểm tra website đang chạy bản Elementor nào bằng cách nào?
Bạn làm theo 3 bước sau là xong:
Bước 1: Kiểm tra phiên bản Elementor hiện tại. Nếu bạn dùng WP-CLI, chỉ cần một lệnh:
sudo -u www-data wp plugin list --path=/var/www/example.com/public_html | grep elementorCột Version sẽ cho bạn biết đang chạy bản nào. Bản an toàn là 4.3.2 trở lên.
Bước 2: Nếu thấy 4.3.0 hoặc 4.3.1 thì cập nhật ngay.
sudo -u www-data wp plugin update elementor --path=/var/www/example.com/public_htmlBước 3: Xác nhận đã lên 4.3.2. Chạy lại lệnh ở bước 1 để chắc chắn. Nếu hosting của bạn giữ bản cũ vì lý do tương thích theme, mình khuyên đổi hosting hoặc tự update thủ công — hai bản 4.3.x cũ hơn không có lý do gì để giữ lại.
Lưu ý: đừng chủ quan nếu bạn đang chạy bản trước 4.3.0. Hai bản này không chứa module Editor Events bị lỗi, nhưng chúng lại dính các lỗ hổng khác, trong đó có bản Elementor Pro RCE từng bị khai thác thật mà mình đã viết trước đây. Nguyên tắc vàng vẫn là luôn chạy bản mới nhất.
Làm sao phát hiện tài khoản admin ảo đã bị cài vào?
Nếu bạn nghi ngờ site đã bị khai thác trước khi kịp vá, bạn rà soát danh sách user theo 4 cách sau:
Cách 1: Liệt kê toàn bộ user có role administrator:
sudo -u www-data wp user list --path=/var/www/example.com/public_html --role=administrator --fields=ID,user_login,user_registeredXem kỹ cột user_registered. Một tài khoản admin được tạo sau ngày 22/9 mà bạn không nhớ là dấu hiệu đỏ rõ ràng nhất. Đặc biệt để ý các username trông vô hại kiểu wp_manager, system_user, editor_support.
Cách 2: Kiểm tra user mới đăng ký gần đây:
sudo -u www-data wp db query "SELECT user_login, user_email, user_registered FROM wp_users ORDER BY user_registered DESC LIMIT 10;" --path=/var/www/example.com/public_htmlCách 3: Nếu phát hiện tài khoản lạ, xóa ngay:
sudo -u www-data wp user delete <ID_hoac_username> --reassign=1 --path=/var/www/example.com/public_htmlTham số --reassign=1 chuyển toàn bộ bài viết của tài khoản đó về user ID 1 (thường là admin gốc), tránh mất nội dung.
Cách 4: Đổi mật khẩu và session key toàn bộ admin còn lại. Kẻ tấn công có thể đã lấy session của bạn:
sudo -u www-data wp user session destroy-all <admin_username> --path=/var/www/example.com/public_htmlSau đó kiểm tra thêm xem có must-use plugin lạ nào được cài vào để duy trì quyền truy cập không — đây là trò quen thuộc mà mình đã bóc tách trong bài về malware must-use plugin giấu tài khoản admin ảo.
Làm gì để không dính một-click attack tương tự trong tương lai?
Lỗi này đáng sợ ở chỗ nó không cần lỗ hổng nào khác — chỉ cần một cú click. Vậy nên phòng thủ của bạn cũng phải theo hướng đó. Mình tổng kết 4 việc nên làm ngay tuần này:
1. Tắt đăng ký user công khai nếu không cần. Vào Settings > General, bỏ chọn “Anyone can register”. Nhiều site để mặc định bật chế độ này mà chủ site không hề hay biết.
2. Giới hạn REST API với người chưa đăng nhập. Nếu bạn không dùng REST API cho app ngoài, chặn nó ở tầng web server. Với Nginx:
location ~ ^/wp-json/ {
limit_except GET { deny all; }
}3. Bật cập nhật tự động cho plugin quan trọng. Elementor là mục tiêu số một của kẻ tấn công vì 10 triệu site đang dùng. Với WP-CLI:
sudo -u www-data wp config set WP_AUTO_UPDATE_CORE minor --path=/var/www/example.com/public_html
sudo -u www-data wp plugin auto-updates enable elementor --path=/var/www/example.com/public_html4. Đừng bấm link lạ khi đang đăng nhập admin. Nghe ngớ ngẩn nhưng đúng là vector duy nhất của tấn công này. Quy tắc của mình: link lạ thì mở bằng trình duyệt ẩn danh, nơi không có session admin.
Troubleshooting: các lỗi hay gặp khi vá
Lỗi “Plugin not found” khi chạy wp plugin update: bạn đang chạy lệnh thiếu tham số –path. Luôn trỏ đúng thư mục public_html của site.
Site vỡ giao diện sau khi lên 4.3.2: khả năng cao theme hoặc addon Elementor cũ xung đột. Cập nhật theme và các addon như Elementor Pro trước, rồi clear cache:
sudo -u www-data wp cache flush --path=/var/www/example.com/public_html
sudo -u www-data wp elementor flush-css --path=/var/www/example.com/public_htmlKhông thể update vì hosting khóa phiên bản: đây là lúc bạn nên nghiêm túc cân nhắc chuyển host. Báo cáo của 20i cho thấy 88% site WordPress toàn cầu đang chạy phần mềm lỗi thời, và hosting giữ bản cũ là một trong những nguyên nhân phổ biến nhất.
Kết luận
Một lỗ hổng chỉ ảnh hưởng hai phiên bản nhưng chạm tới 2 triệu site, vá chỉ mất một cú click update — đây chính là minh chứng rõ nhất cho câu chuyện “phần mềm lỗi thời là nguyên nhân số một khiến website WordPress bị hack”. Bạn dành 5 phút hôm nay: kiểm tra phiên bản Elementor, cập nhật lên 4.3.2, rà danh sách admin. Năm phút đó rẻ hơn rất nhiều so với một đêm dọn malware.