Một lỗ hổng WordPress RCE (Remote Code Execution) nghiêm trọng, không yêu cầu xác thực trước, với tên mã là “wp2shell” vừa được phát hiện trong WordPress Core. Lỗ hổng này đặt ước tính hơn 500 triệu trang web vào nguy cơ bị chiếm quyền kiểm soát hoàn toàn bởi những kẻ tấn công không cần xác thực.
Tính chất đặc biệt nguy hiểm của lỗ hổng này nằm ở việc không yêu cầu bất kỳ điều kiện tiên quyết nào. Nó có thể bị khai thác bởi một người dùng hoàn toàn ẩn danh và chưa xác thực đối với một cài đặt WordPress tiêu chuẩn, ngay cả khi không có plugin nào được cài đặt.
Chi tiết về Lỗ hổng WordPress RCE “wp2shell”
Nghiên cứu viên bảo mật Adam Kues thuộc nhóm nghiên cứu Assetnote của Searchlight Cyber đã phát hiện ra lỗ hổng này. Nó bắt nguồn từ một vấn đề nhầm lẫn lộ trình hàng loạt (batch-route confusion) trong REST API của WordPress.
Sự nhầm lẫn này dẫn đến một lỗi SQL Injection và cuối cùng là thực thi mã từ xa (Remote Code Execution).
Về mặt thực tiễn, kẻ tấn công không cần thông tin đăng nhập, một plugin dễ bị tấn công, hay bất kỳ cấu hình trang web đặc biệt nào để xâm nhập mục tiêu. Chỉ cần một phiên bản WordPress đang chạy phiên bản bị ảnh hưởng và có thể truy cập được là đủ.
Đây là một đặc điểm khiến nó trở thành mối đe dọa rất lớn, tương tự như một cuộc khai thác zero-day, đòi hỏi các quản trị viên phải hành động khẩn cấp.
Cơ chế khai thác và chuỗi tấn công
Cơ chế khai thác của “wp2shell” dựa trên sự tương tác không đúng cách giữa các yêu cầu trong REST API của WordPress. Khi các yêu cầu hàng loạt (batch requests) được xử lý, một lỗi logic xảy ra, cho phép kẻ tấn công chèn các lệnh độc hại.
Lỗi này cho phép kẻ tấn công thực hiện SQL Injection, một kỹ thuật tấn công chèn mã SQL độc hại vào cơ sở dữ liệu. Sau khi thành công với SQL Injection, kẻ tấn công có thể leo thang đặc quyền để đạt được quyền thực thi mã từ xa trên máy chủ.
Khả năng thực thi mã từ xa mà không cần xác thực cho phép kẻ tấn công cài đặt mã độc, thay đổi cấu hình hệ thống, hoặc thậm chí chiếm toàn quyền kiểm soát máy chủ lưu trữ trang WordPress.
Các mã định danh CVE liên quan và ảnh hưởng phiên bản
Lỗ hổng này ảnh hưởng đến một dải phiên bản cụ thể của WordPress Core và được theo dõi dưới hai mã định danh CVE:
- CVE-2026-60137: Mã định danh này bao gồm một vấn đề SQL Injection riêng biệt.
- CVE-2026-63030: Đây là lỗi RCE liên quan đến nhầm lẫn lộ trình hàng loạt (batch-route RCE flaw) do Adam Kues báo cáo.
Phiên bản WordPress 6.8 chỉ bị ảnh hưởng bởi thành phần SQL Injection (CVE-2026-60137), không phải chuỗi RCE. Một bản vá đã được áp dụng cho phiên bản 6.8.6 để khắc phục vấn đề này.
Để biết thêm chi tiết về các lỗ hổng này, bạn có thể tham khảo cơ sở dữ liệu của NVD tại NVD.NIST.gov.
Biện pháp khắc phục và cập nhật bản vá
Để đối phó với sự nghiêm trọng của lỗi này, WordPress.org đã phát hành phiên bản 7.0.2. Cùng với đó, các bản vá đã được backported cho các phiên bản 6.9.5 và 6.8.6.
Các bản cập nhật này đã giải quyết cả vấn đề RCE nghiêm trọng và lỗi SQL Injection có mức độ nghiêm trọng cao. Trang tin chính thức của WordPress đã công bố về bản phát hành này tại WordPress.org/news.
Do mức độ nghiêm trọng của lỗ hổng, nhóm WordPress.org đã thực hiện một bước đi bất thường: buộc đẩy bản cập nhật này thông qua hệ thống tự động cập nhật đến tất cả các trang web đang chạy phiên bản bị ảnh hưởng.
Điều này được thực hiện thay vì chờ đợi các quản trị viên tự hành động. Hành động này nhấn mạnh tầm quan trọng và tính cấp bách của việc cập nhật bản vá ngay lập tức.
Hướng dẫn cập nhật và các khuyến nghị
Chủ sở hữu trang web có thể cập nhật thủ công thông qua Bảng điều khiển WordPress (WordPress Dashboard) bằng cách điều hướng đến phần Updates và nhấp vào “Update Now”. Ngoài ra, có thể tải xuống trực tiếp phiên bản phát hành từ WordPress.org.
Đối với các quản trị viên không thể cập nhật ngay lập tức, Searchlight Cyber khuyến nghị các biện pháp tạm thời khẩn cấp. Tuy nhiên, các biện pháp này có thể làm gián đoạn chức năng hợp pháp của trang web, do đó không được khuyến khích là giải pháp lâu dài.
Các biện pháp tạm thời có thể bao gồm việc hạn chế truy cập vào REST API thông qua các quy tắc tường lửa (WAF) hoặc cấu hình máy chủ web. Tuy nhiên, việc này cần được thực hiện cẩn thận để tránh ảnh hưởng đến các chức năng cốt lõi của WordPress.
Ví dụ về cách chặn một số yêu cầu đến REST API trên Nginx:
location ~* /wp-json/wp/v2/(posts|pages|comments) {
deny all;
# Hoặc chỉ cho phép từ các IP đáng tin cậy
# allow 192.168.1.0/24;
}
Lệnh trên chỉ là một ví dụ minh họa và cần được điều chỉnh tùy theo môi trường cụ thể. Việc triển khai các biện pháp này mà không hiểu rõ tác động có thể gây ra sự cố cho trang web.
Nghiên cứu và Công cụ hỗ trợ
Nhóm bảo mật WordPress đã ghi nhận ba nghiên cứu viên TF1T, dtro, và haongo đã cùng báo cáo vấn đề SQL Injection. Ngoài ra, Adam Kues được vinh danh vì đã xác định chuỗi RCE của REST API batch-route.
Do mức độ nghiêm trọng của lỗ hổng và phạm vi cài đặt WordPress rộng lớn, Searchlight Cyber đã giữ lại các chi tiết kỹ thuật khai thác đầy đủ. Mục đích là để các chủ sở hữu trang web có thời gian vá lỗi.
Để hỗ trợ quản trị viên, Searchlight Cyber đã phát hành một công cụ quét công khai miễn phí tại wp2shell.com. Công cụ này cho phép các quản trị viên kiểm tra xem trang web của họ có dễ bị tấn công bởi lỗ hổng WordPress RCE này hay không.
Thông tin nghiên cứu chi tiết hơn có thể được tìm thấy tại Searchlight Cyber Research Center.
Với quy mô cơ sở cài đặt của WordPress và tính chất zero-click, không yêu cầu plugin của cuộc khai thác này, các đội ngũ bảo mật đang kêu gọi vá lỗi ngay lập tức thay vì phụ thuộc vào các giải pháp tạm thời. Việc chậm trễ có thể dẫn đến việc hệ thống bị xâm nhập hoàn toàn.










