Lỗ hổng Zero-day WordPress nghiêm trọng: AI phát hiện RCE

Lỗ hổng Zero-day WordPress nghiêm trọng: AI phát hiện RCE

Mới đây, một báo cáo kỹ thuật từ Searchlight Cyber đã tiết lộ việc mô hình trí tuệ nhân tạo (AI) **GPT-5.6 Sol Ultra** đã phát hiện thành công một **lỗ hổng zero-day** nghiêm trọng. Đây là một lỗ hổng thực thi mã từ xa (RCE) tiền xác thực trong nền tảng WordPress, có khả năng ảnh hưởng đến hàng trăm triệu website trên toàn cầu. Sự kiện này một lần nữa khẳng định tiềm năng của AI trong việc tái định hình lĩnh vực nghiên cứu lỗ hổng bảo mật.

Theo Searchlight Cyber, quá trình phát hiện lỗ hổng này chỉ tiêu tốn khoảng **25 USD** chi phí sử dụng AI, một con số đáng kinh ngạc so với giá trị tiềm năng của một lỗ hổng RCE. Khám phá này mở ra những cách tiếp cận mới và hiệu quả hơn trong việc xác định các điểm yếu hệ thống phức tạp.

Khám phá lỗ hổng: Vai trò của AI trong nghiên cứu bảo mật

Các nhà nghiên cứu tại Searchlight Cyber đã giao nhiệm vụ cho **GPT-5.6 Sol Ultra** kiểm tra mã nguồn WordPress được cài đặt cục bộ. Quá trình kiểm tra này được thực hiện bởi bốn tác nhân AI (AI agents) và kéo dài hơn sáu giờ.

Phương pháp tiếp cận của AI

Mô hình AI đã xác định một chuỗi khai thác hoàn chỉnh, cho phép một kẻ tấn công không cần xác thực có thể chiếm quyền quản trị. Từ đó, kẻ tấn công có thể thực thi mã tùy ý trên các trang WordPress bị ảnh hưởng.

Ước tính về thiệt hại tiềm tàng từ lỗ hổng này có thể lên tới **500.000 USD**. Con số này phản ánh giá trị cao thường được gán cho các lỗ hổng RCE không cần tương tác (zero-click) hoặc tiền xác thực đáng tin cậy. Đặc biệt, những lỗ hổng này ảnh hưởng đến các phần mềm được sử dụng rộng rãi như WordPress.

WordPress hiện đang cung cấp năng lượng cho hơn **500 triệu** website trên toàn thế giới. Do đó, bất kỳ lỗ hổng RCE nào trong cấu hình mặc định đều mang ý nghĩa đặc biệt quan trọng và tiềm ẩn rủi ro rất lớn.

Phân tích chi tiết lỗ hổng **Remote Code Execution** trong WordPress Batch API

Cuộc tấn công được báo cáo bắt đầu từ Batch API của WordPress, một thành phần quan trọng trong cấu trúc REST API. API này có thể truy cập thông qua điểm cuối `/wp-json/batch/v1`.

Chức năng chính của Batch API là xử lý nhiều yêu cầu REST API trong một yêu cầu HTTP duy nhất. Điều này giúp tối ưu hóa hiệu suất và giảm tải mạng.

Điểm yếu tại Batch API và cơ chế desynchronization

Theo báo cáo, vấn đề nằm ở sự không nhất quán giữa kết quả xác thực và các trình xử lý REST phù hợp. Một lỗi trong điều kiện xử lý lỗi đã cho phép kẻ tấn công xác thực một yêu cầu, nhưng thực thi nó đối với một trình xử lý điểm cuối khác.

Sự không đồng bộ (desynchronization) này cho phép kẻ tấn công vượt qua các biện pháp bảo vệ. Cụ thể là các cơ chế làm sạch tham số (parameter sanitization) được sử dụng bởi các tuyến REST API để ngăn chặn các cuộc tấn công injection.

Lợi dụng SQL Injection

Các nhà nghiên cứu đã ghi nhận một vấn đề kết hợp trong điểm cuối posts của WordPress. Tại đây, giá trị `author_exclude` có thể được gửi đến một truy vấn cơ sở dữ liệu mà không được thoát đúng cách.

Điều này xảy ra khi giá trị được cung cấp dưới dạng kiểu dữ liệu vô hướng (scalar) thay vì một mảng số nguyên (integer array) như mong đợi. Sự sai lệch kiểu dữ liệu này là một điểm yếu nghiêm trọng.

Do Batch API thường chặn các yêu cầu GET, mô hình AI đã tạo ra một yêu cầu batch lồng ghép. Mục đích là để vượt qua quá trình xác thực phương thức (method validation), từ đó bỏ qua việc xác thực tham số liên quan đến SQL.

Điều này dẫn đến một **lỗ hổng zero-day** SQL injection tiền xác thực. Kẻ tấn công có thể đọc dữ liệu từ cơ sở dữ liệu WordPress. Việc leo thang từ SQL injection lên RCE đòi hỏi một chuỗi hành động phức tạp hơn.

Chuỗi khai thác: Từ SQL Injection đến chiếm quyền RCE

Các nhà nghiên cứu đã giải thích cách mô hình AI khai thác bộ nhớ đệm bài viết trong bộ nhớ (in-memory post cache) và cơ chế bộ nhớ đệm oEmbed của WordPress.

Mục đích là để tạo các bản ghi bài viết được hỗ trợ bởi cơ sở dữ liệu một cách có kiểm soát. Sau đó, mô hình chuyển đổi các mục này thành các đối tượng `customize_changeset` đặc biệt.

Sử dụng bộ nhớ đệm và Changesets

WordPress changesets là các đối tượng dùng để áp dụng các thay đổi cấu hình cho một trang web dưới quyền của một người dùng cụ thể. Bằng cách giả mạo một changeset liên kết với ID người dùng quản trị (**ID 111**), exploit tạm thời buộc WordPress phải giả định đặc quyền quản trị trong quá trình xử lý yêu cầu.

Kích hoạt quyền quản trị tạm thời và thực thi mã

Pha cuối cùng của cuộc **tấn công mạng** đã tận dụng các WordPress hooks và một chu trình phân cấp bài viết được tạo ra một cách tinh vi. Một bài viết được giả mạo đã khiến WordPress gọi hook `parse_request`, phát lại yêu cầu batch độc hại.

Trong quá trình này, hệ thống vẫn giữ các đặc quyền quản trị tạm thời. Trong lần xử lý thứ hai này, kẻ tấn công có thể tạo một tài khoản quản trị mới và cài đặt một plugin độc hại để đạt được khả năng thực thi mã (Remote Code Execution).

Searchlight Cyber đã trì hoãn việc công bố công khai chi tiết kỹ thuật của **lỗ hổng zero-day** này. Mục đích là để các nhà phòng thủ có thời gian cần thiết để khắc phục vấn đề. Các nhà nghiên cứu độc lập, bao gồm Calif và Hacktron, đã tái tạo thành công chuỗi khai thác hoàn chỉnh trước khi mã proof-of-concept được công bố trên GitHub. Độc giả có thể tham khảo thêm chi tiết về nghiên cứu tại Trung tâm nghiên cứu Searchlight Cyber.

Ảnh hưởng và rủi ro từ tấn công mạng

Lỗ hổng này đặc biệt nguy hiểm vì tính chất tiền xác thực và khả năng thực thi mã từ xa. Nó cho phép kẻ tấn công kiểm soát hoàn toàn một trang WordPress mà không cần bất kỳ tương tác nào từ người dùng.

Với số lượng lớn website sử dụng WordPress, nguy cơ từ lỗ hổng **Remote Code Execution** này là rất đáng kể. Các tổ chức và cá nhân cần nhận thức rõ về mức độ nghiêm trọng của mối đe dọa này.

Khuyến nghị và biện pháp phòng ngừa

Để bảo vệ hệ thống của mình khỏi nguy cơ bị khai thác, các quản trị viên WordPress cần thực hiện các biện pháp phòng ngừa khẩn cấp.

Cập nhật và giám sát

Các quản trị viên được khuyến nghị áp dụng ngay lập tức các **bản vá bảo mật** mới nhất cho WordPress. Việc cập nhật phần mềm là bước quan trọng nhất để khắc phục các lỗ hổng đã biết.

Ngoài ra, cần xem xét kỹ lưỡng các nhật ký hệ thống để phát hiện các yêu cầu đáng ngờ. Đặc biệt, cần chú ý đến các truy cập vào điểm cuối `/wp-json/batch/v1` có thể là dấu hiệu của một cuộc tấn công.

Các tổ chức cũng có thể kiểm tra khả năng bị phơi nhiễm bằng cách sử dụng máy quét được lưu trữ tại wp2shell [https://wp2shell.com/]. Công cụ này cung cấp một phương pháp nhanh chóng để đánh giá rủi ro.