Skip to main content

Command Palette

Search for a command to run...

Hai lỗ hổng RCE không cần xác thực đe dọa hơn 200.000 website WordPress

Updated
•10 min read•View as Markdown
Hai lỗ hổng RCE không cần xác thực đe dọa hơn 200.000 website WordPress

Vừa qua, công ty bảo mật WordPress Defiant cảnh báo hai lỗ hổng thực thi mã từ xa (RCE) nghiêm trọng CVE-2026-78159 và CVE-2026-78006 trong plugin quản lý sự kiện phổ biến The Events Calendar (phát triển bởi StellarWP). Cả hai lỗ hổng đều cho phép kẻ tấn công không cần xác thực thực thi mã PHP tùy ý trên server, dẫn đến chiếm toàn quyền kiểm soát website WordPress. Plugin có hơn 600.000 cài đặt hoạt động, và dữ liệu từ WordPress.org cho thấy khoảng 240.000 website đang chạy phiên bản trước 6.17, tức là đồng thời vulnerable với cả hai lỗ hổng. Dù hai lỗ hổng là hai chuỗi khai thác độc lập và đều đã được StellarWP vá (CVE-2026-78159 trong phiên bản 6.17.3.1 ngày 25/08/2026 và CVE-2026-78006 trong phiên bản 6.17.4.1 ngày 10/09/2026), dữ liệu cho thấy xấp xỉ một nửa trong số 600.000 cài đặt vẫn chưa được vá tại thời điểm công bố.


Thông tin chi tiết

CVE-2026-78159 — The Events Calendar: Unauthenticated Code Injection

  • Định danh lỗ hổng: CVE-2026-78159

  • Điểm CVSS(3.1): 9.8

  • Mức độ nghiêm trọng: CRITICAL – Cực kỳ nghiêm trọng

  • Mô tả: CVE-2026-78159 là lỗ hổng code injection không cần xác thực trong The Events Calendar, phát sinh do plugin không kiểm tra và làm sạch đúng cách dữ liệu đầu vào trong một trong các tính năng xử lý comment sự kiện. Kẻ tấn công ẩn danh có thể gửi payload code injection được craft đặc biệt khai thác lỗ hổng insufficient validation này để thực thi mã PHP tùy ý trên server, từ đó chiếm toàn quyền kiểm soát website WordPress. Điều kiện khai thác: tính năng comment trên sự kiện (event comments) phải được bật trong plugin.

  • Phiên bản bị ảnh hưởng: The Events Calendar trước 6.17.3.1


CVE-2026-78006 — The Events Calendar: Unauthenticated PHP Object Injection

  • Định danh lỗ hổng: CVE-2026-78006

  • Điểm CVSS(3.1): 9.8

  • Mức độ nghiêm trọng: CRITICAL – Cực kỳ nghiêm trọng

  • Mô tả: CVE-2026-78006 là lỗ hổng PHP object injection không cần xác thực trong The Events Calendar. Lỗ hổng phát sinh khi plugin deserialize dữ liệu do người dùng cung cấp mà không kiểm tra tính hợp lệ của loại object được khởi tạo. Kẻ tấn công ẩn danh có thể cung cấp serialized PHP object được craft đặc biệt, khiến plugin khởi tạo object với class và thuộc tính do kẻ tấn công kiểm soát, kích hoạt gadget chain dẫn đến thực thi mã tùy ý và chiếm toàn quyền kiểm soát website. Điều kiện khai thác: comment trên sự kiện phải được bật và hiển thị công khai (enabled và visible). Lỗ hổng này được vá muộn hơn CVE-2026-78159 hai tuần, các website đã cập nhật lên 6.17.3.1 nhưng chưa lên 6.17.4.1 vẫn vulnerable với CVE-2026-78006.

  • Phiên bản bị ảnh hưởng: The Events Calendar trước 6.17.4.


The Events Calendar là plugin quản lý và hiển thị sự kiện phổ biến nhất trên WordPress, được phát triển bởi StellarWP với hơn 600.000 cài đặt hoạt động. Plugin cho phép website WordPress tạo, quản lý, và hiển thị sự kiện từ hội nghị, lớp học, buổi biểu diễn đến sự kiện cộng đồng, với giao diện lịch tùy biến cao, tích hợp Google Calendar, Eventbrite, và nhiều dịch vụ khác. Tính năng comment trên sự kiện cho phép người tham gia đặt câu hỏi hoặc thảo luận trực tiếp trên trang sự kiện. Đây là tính năng phổ biến trong các môi trường cộng đồng và giáo dục và chính xác là attack surface mà cả hai CVE khai thác.

Mức độ nguy hiểm của CVE-2026-78159 và CVE-2026-78006 nằm ở sự kết hợp của ba yếu tố: không cần xác thực, điều kiện khai thác phổ biến (comment là tính năng mặc định), và hậu quả tối đa (RCE và chiếm toàn quyền website). Không giống các lỗ hổng WordPress plugin thông thường yêu cầu ít nhất quyền subscriber hoặc contributor, cả hai CVE này chỉ cần HTTP request từ visitor ẩn danh, không tài khoản, không session, không bất kỳ quyền truy cập nào trước đó.

CVE-2026-78006 (PHP object injection) đặc biệt thú vị về mặt kỹ thuật: PHP object injection về bản chất phụ thuộc vào "gadget chain", chuỗi các magic method (__wakeup, __destruct, __toString, v.v.) trong các class đã được nạp vào bộ nhớ. Wordpress cùng với các plugin và theme của nó thường nạp hàng nghìn class, tạo ra một bề mặt gadget chain rộng lớn. Trong môi trường WordPress điển hình với nhiều plugin, khả năng cao là tồn tại gadget chain đủ mạnh để leo thang từ object injection lên RCE đầy đủ.

Điểm quan trọng về timeline vá lỗi: StellarWP vá hai lỗ hổng trong hai đợt riêng biệt cách nhau hai tuần. Website đã cập nhật lên 6.17.3.1 (vá CVE-2026-78159) nhưng bỏ qua cập nhật tiếp theo lên 6.17.4.1 vẫn còn vulnerable với CVE-2026-78006. Đây là lý do cần kiểm tra phiên bản cụ thể thay vì chỉ nhớ "đã vá".


Tổng quát quá trình khai thác

CVE-2026-78159 — Code Injection qua Event Comment Processing

  1. Thu thập thông tin (Reconnaissance)

    • Mục tiêu: xác định website WordPress sử dụng The Events Calendar trước 6.17.3.1 với comment sự kiện được bật.

    • Hành động: kẻ tấn công quét Internet tìm website có The Events Calendar qua fingerprint plugin (CSS class, JavaScript variable, URL pattern của trang sự kiện). Kiểm tra phiên bản plugin qua response header hoặc các dấu hiệu nhận dạng. Xác minh comment sự kiện được bật bằng cách kiểm tra form comment trên một sự kiện công khai.

  2. Gửi Code Injection Payload (Exploitation)

    • Kẻ tấn công gửi HTTP request tới endpoint xử lý comment sự kiện với payload code injection được craft đặc biệt khai thác lỗi insufficient validation.

    • Do plugin không kiểm tra đúng cách dữ liệu đầu vào trước khi xử lý, PHP code của kẻ tấn công được nhúng vào luồng xử lý và thực thi trên server.

  3. Thực thi Mã PHP (Code Execution)

    • PHP code được thực thi với quyền của web server process, thường là user www-data hoặc apache.

    • Kẻ tấn công có thể đọc/ghi file system, thực thi lệnh OS, truy cập database.

CVE-2026-78006 — PHP Object Injection qua Event Comment Deserialization

  1. Thu thập thông tin (Reconnaissance)

    • Mục tiêu: xác định website The Events Calendar trước 6.17.4.1 với comment sự kiện được bật và hiển thị công khai.

    • Hành động: tương tự CVE-2026-78159, thêm xác minh comment có hiển thị visible trên frontend không.

  2. Craft Serialized PHP Object (Payload Construction)

    • Kẻ tấn công phân tích các class được nạp trong môi trường WordPress + The Events Calendar để xây dựng gadget chain.

    • Tạo serialized PHP object được craft đặc biệt chứa gadget chain dẫn đến RCE.

  3. Gửi Serialized Object (Exploitation)

    • Kẻ tấn công gửi serialized object qua endpoint comment sự kiện.

    • Plugin deserialiize dữ liệu không kiểm tra loại object, PHP khởi tạo object với class và thuộc tính do kẻ tấn công kiểm soát.

    • PHP magic method (thường __destruct hoặc __wakeup) kích hoạt gadget chain.

  4. Kích hoạt Gadget Chain (Privilege Escalation to RCE)

    • Gadget chain thực thi theo chuỗi magic method, leo thang từ object instantiation đến arbitrary PHP code execution.

    • Kết quả: RCE với quyền web server process.

  5. Hậu khai thác (Post-Exploitation — áp dụng cho cả hai CVE)

    • Cài đặt PHP webshell hoặc backdoor plugin để duy trì truy cập lâu dài.

    • Tạo tài khoản WordPress admin giả mạo.

    • Đánh cắp thông tin người dùng, dữ liệu đơn hàng (nếu có WooCommerce), và dữ liệu nhạy cảm từ database.

    • Inject mã độc vào nội dung website (malicious redirect, phishing page, cryptominer, malware distribution).

    • Thay đổi file PHP cốt lõi của WordPress để thiết lập persistence.

    • Lateral movement sang các website khác trên cùng hosting server.


Khuyến nghị & Khắc phục

StellarWP đã phát hành hai bản vá liên tiếp và chưa có bằng chứng khai thác thực tế được xác nhận tại thời điểm công bố. Đội ngũ FPT Threat Intelligence khuyến nghị người dùng và quản trị viên cần cân nhắc thực hiện ngay các hành động sau:

  • Cập nhật bản vá khẩn cấp: cập nhật ngay The Events Calendar lên phiên bản 6.17.4.1 hoặc cao hơn, đây là phiên bản duy nhất vá được cả hai CVE-2026-78159 và CVE-2026-78006. Cập nhật lên 6.17.3.1 là chưa đủ vì vẫn vulnerable với CVE-2026-78006.

  • Biện pháp tạm thời nếu chưa vá kịp: tắt tính năng comment trên sự kiện ngay lập tức để loại bỏ attack vector của cả hai lỗ hổng. Thực hiện trong WordPress Dashboard → The Events Calendar → Settings → tắt event comments. Đây là biện pháp hiệu quả nhất khi chưa thể vá ngay vì cả CVE-2026-78159 và CVE-2026-78006 đều yêu cầu comment được bật.

  • Kiểm tra dấu hiệu xâm phạm: rà soát website để phát hiện:

    • Tài khoản WordPress admin mới được tạo không theo kế hoạch.

    • Plugin hoặc theme lạ được cài đặt bất thường.

    • File PHP mới hoặc bị sửa đổi trong thư mục wp-content/ đặc biệt là các file có tên ngẫu nhiên hoặc giả mạo tên plugin hợp lệ.

    • Access log tìm các POST request bất thường tới endpoint comment sự kiện từ IP không nhận dạng.

    • Database: kiểm tra bảng wp_users tìm tài khoản admin lạ, và wp_options tìm active_plugins với plugin không được cài.

  • Đánh giá tác động tính năng comment: nhiều website sử dụng event comment cho cộng đồng người tham gia. Nếu tắt comment là không khả thi về mặt vận hành, ưu tiên vá ngay thay vì dùng workaround này. Nếu comment không cần thiết, tắt vĩnh viễn để giảm attack surface cho cả lỗ hổng này và các lỗ hổng tương tự trong tương lai.

  • Bật WAF rules: Wordfence, Sucuri và các WAF plugin khác đã cập nhật rules để phát hiện và chặn các attempt khai thác CVE-2026-78159 và CVE-2026-78006. Đảm bảo WAF được bật và cập nhật rule mới nhất.

  • Ngữ cảnh WordPress 2026: CVE-2026-78159 và CVE-2026-78006 xuất hiện trong bối cảnh WordPress ecosystem trải qua một năm bất thường với hàng loạt lỗ hổng nghiêm trọng: XSS2Shell (CVE-2026-64638, CVSS 8.9 trong WordPress Core), WP2Shell, cùng nhiều lỗ hổng plugin critical khác. Các tổ chức vận hành nhiều website WordPress nên xem xét triển khai quy trình patch automation và monitoring tập trung thay vì quản lý từng site thủ công.


Tham khảo

More from this blog

F

FPT IS Security

1021 posts

Dedicated to providing insightful articles on cybersecurity threat intelligence, aimed at empowering individuals and organizations to navigate the digital landscape safely.