wp2shell (CVE-2026-63030 & CVE-2026-60137): RCE trong WordPress core — và cách W7SFW chặn ở edge

10 min read

wp2shell (CVE-2026-63030 & CVE-2026-60137): RCE trong WordPress core — và cách W7SFW chặn ở edge

Cộng đồng bảo mật WordPress vừa ghi nhận một trong những phát hiện đáng chú ý nhất: wp2shell — một chuỗi khai thác dẫn tới Remote Code Execution (RCE) nằm hoàn toàn trong WordPress core. Không plugin. Không theme. Không cấu hình đặc biệt. Và quan trọng nhất: không cần xác thực.

Được gán hai định danh CVE-2026-63030CVE-2026-60137, wp2shell đặc biệt nguy hiểm vì nó tấn công chính nền tảng mà hàng chục triệu website đang chạy — ở cấu hình mặc định.

Bài viết này phân tích chuỗi khai thác dưới góc nhìn kỹ thuật, và giải thích vì sao một lớp tường lửa đặt ở edge như W7SFW có thể chặn nó trước khi request kịp chạm tới WordPress.

Chuỗi khai thác: 5 giai đoạnLink to heading

1. Route confusion tại batch REST endpoint. Endpoint /wp-json/batch/v1/ cho phép gộp nhiều sub-request vào một lần gọi. Lỗ hổng: khi một "member" trong batch parse lỗi, code ghi vào mảng validation nhưng không thêm placeholder tương ứng vào mảng matches, gây lệch chỉ số (index misalignment). Hệ quả: một request chưa được validate lại được thực thi với quyền của handler thuộc request khác.

2. SQL Injection qua WP_Query. Route confusion đẩy request tới posts handler mà bỏ qua bước kiểm tra schema. Tham số author__not_in đến dưới dạng scalar thô do kẻ tấn công kiểm soát, thay vì một mảng số nguyên đã làm sạch. Vì WP_Query chỉ sanitize giá trị dạng mảng, chuỗi chưa được lọc đi thẳng vào câu SQL — mở đường cho SQL injection qua mệnh đề NOT IN.

3. Đầu độc object trong cache. Kết quả SQLi được dùng để "đầu độc" các object WP_Post trong cache. Những object giả mạo này chứa các trường do kẻ tấn công kiểm soát: status, type, parent.

4. Save lồng nhau → tạo admin. Thông qua cache oEmbed (re-save post chỉ với ID + nội dung mới, để WordPress tự điền phần còn lại) và hai lần save lồng nhau (customizer changeset publish khiến WordPress chuyển current user sang user được ghi nhớ trước khi save), một request tạo user vốn bị từ chối được đánh giá lại dưới quyền admin — và tạo thành công một tài khoản quản trị.

5. Từ admin tới RCE. Có tài khoản admin, kẻ tấn công cài một plugin cho phép thực thi mã tùy ý → RCE hoàn chỉnh.

Toàn bộ chuỗi bắt đầu bằng một request ẩn danh tới /wp-json/batch/v1/ chứa: một member cố tình lỗi (gây lệch index), các request khai thác route confusion, và các request tạo user thất bại lúc đầu nhưng thành công khi được re-evaluate.

Vì sao vá lỗi thôi là chưa đủ (trong ngắn hạn)Link to heading

Đây là lỗ hổng trong core, ảnh hưởng bản cài mặc định. Ngay khi chi tiết được công bố, bot khai thác bắt đầu quét tự động — thường chỉ vài giờ sau. Cửa sổ nguy hiểm chính là khoảng thời gian: lỗ hổng đã public nhưng site của bạn chưa kịp cập nhật. Với đội ngũ quản nhiều site, khoảng này có thể kéo dài nhiều ngày.

W7SFW chặn wp2shell ở đâuLink to heading

Điểm mấu chốt: cả chuỗi wp2shell di chuyển qua HTTP và mang một "chữ ký" rất rõ ràng ở tầng request:

  • POST tới /wp-json/batch/v1/ với các member dị dạng gây lệch index.
  • Payload SQL injection trong tham số author__not_in (các mẫu NOT IN, hàm SLEEP, điều kiện OR...).

W7SFW là tường lửa đặt ở edge — kiểm tra mọi request trước khi nó chạm tới WordPress. Các pattern khai thác wp2shell bị nhận diện và chặn ngay tại lớp ngoài; WordPress phía sau không bao giờ nhận được request độc hại đó. Đây chính là "virtual patching": bạn được bảo vệ khỏi pattern khai thác đã biết trong lúc chờ vá core, thay vì để site trần trụi hứng đòn.

Kiểm chứng trực tiếpLink to heading

Chúng tôi để nguyên một website WordPress thật tại w7s-protected.com, đặt sau lớp W7SFW. Bạn có thể tự kiểm chứng: các request khai thác wp2shell không đi tới được core của site này.

Khuyến nghịLink to heading

  1. Cập nhật WordPress core ngay khi bản vá có sẵn — đây là biện pháp gốc.
  2. Đặt một lớp tường lửa ở edge (như W7SFW) để chặn pattern khai thác trong khoảng thời gian nguy hiểm trước khi vá.
  3. Giám sát các dấu hiệu: request tới /wp-json/batch/v1/ với member dị dạng; mẫu SQLi trong author__not_in; việc tạo changeset customizer bất thường; và đặc biệt là tài khoản admin lạ được tạo mới.

W7SFW — tường lửa WordPress đặt ở edge. Chặn bot, khai thác CVE và tấn công trước khi chúng chạm tới site của bạn. Dùng thử miễn phí tại dash.w7sfw.com.

Get In Touch
with our security experts.
Whether you need a custom enterprise plan or technical support, we are here to help. Expect a response within 24 hours.