Một lỗ hổng vượt qua xác thực nghiêm trọng (CVE-2026-8457) đã được công bố trong plugin WooCommerce Social Login, cho phép kẻ tấn công chiếm quyền điều khiển bất kỳ tài khoản WordPress nào – bao gồm cả quản trị viên. Lỗ hổng này có điểm CVSS là 9.8, mức độ nghiêm trọng cao nhất, và có thể bị khai thác mà không cần mật khẩu, mã xác thực hai yếu tố, hay bất kỳ sự tương tác nào từ người dùng.

Tại sao lỗ hổng này lại quan trọng đối với các nhà phát triển WordPress

WooCommerce Social Login, được phát hành bởi WPWeb Elite, cho phép các trang thương mại điện tử cho phép khách hàng đăng nhập bằng Apple. Vì plugin này tích hợp trực tiếp với hệ thống người dùng của WordPress, một lỗ hổng trong luồng xác thực của nó có thể làm tổn hại đến toàn bộ trang web. Một kẻ tấn công giả mạo một id_token của Apple có thể chiếm quyền kiểm soát một tài khoản hiện có, từ đó có toàn quyền kiểm soát nội dung, đơn hàng và dữ liệu khách hàng của trang web.

Vấn đề này không phải là một lỗi ngẫu nhiên; đây là lỗ hổng xác thực lớn thứ ba được tìm thấy trong dòng plugin này trong vòng hai năm qua. Việc liên tục thất bại trong việc xác minh các token từ bên thứ ba cho thấy một vấn đề mang tính hệ thống trong cách mã xử lý các thông tin xác thực bên ngoài.

Cách thức vượt qua xác thực hoạt động

  1. Xử lý token Apple – Khi khách truy cập nhấp vào “Sign in with Apple,” plugin sẽ nhận được một id_token, một JSON Web Token (JWT) chứa email của người dùng và các thông tin (claims) khác.
  2. Thiếu xác minh chữ ký – Plugin giải mã JWT nhưng không bao giờ kiểm tra chữ ký mã hóa nhằm chứng minh rằng token đó được phát hành bởi Apple.
  3. Không kiểm tra nhà phát hành, đối tượng hoặc thời gian hết hạn – Nó cũng bỏ qua việc xác thực nhà phát hành của token (người tạo ra nó), đối tượng (người mà nó hướng tới) và thời gian hết hạn.

Do những thiếu sót này, kẻ tấn công có thể tạo ra một JWT giả mạo để tuyên bố bất kỳ địa chỉ email nào chúng chọn. Plugin tin tưởng email đã giải mã là thật và tạo hoặc đăng nhập vào người dùng WordPress tương ứng mà không cần bất kỳ bằng chứng nào.

Một vấn đề thứ hai làm trầm trọng thêm rủi ro: plugin để lộ một security nonce – một giá trị dùng một lần để ngăn chặn các cuộc tấn công phát lại (replay attacks) – cho những khách truy cập chưa được xác thực. Điều này khiến kẻ tấn công có thể dễ dàng viết script cho toàn bộ quá trình mà không cần phải kích hoạt một luồng đăng nhập hợp lệ.

Những ai gặp rủi ro

  • Chủ sở hữu trang web đang chạy WooCommerce – Bất kỳ trang web nào đã cài đặt và kích hoạt plugin để đăng nhập bằng Apple đều gặp nguy hiểm.
  • Các nhà phát triển và đại lý (agencies) – Những người quản lý nhiều trang web của khách hàng có thể có hàng tá bản cài đặt đang bị lộ lọt.
  • Khách hàng – Nếu kẻ tấn công giành được quyền quản trị, chúng có thể đọc, sửa đổi hoặc xóa dữ liệu đơn hàng, có khả năng làm lộ thông tin cá nhân và thanh toán.

Các bước tức thời để bảo vệ trang web của bạn

  1. Cập nhật lên phiên bản 2.8.8 – Bản vá đã được bao gồm trong bản phát hành mới nhất, có sẵn trên CodeCanyon. Các plugin trả phí (Premium) không nhận được các bản cập nhật tự động thông qua kho lưu trữ WordPress.org, vì vậy bạn phải tải xuống và cài đặt gói mới một cách thủ công.
  2. Kiểm tra các tài khoản người dùng – Tìm kiếm trong bảng người dùng WordPress các tài khoản được tạo sau ngày 1 tháng 8 năm 2026, đặc biệt là những tài khoản có quyền quản trị viên.
  3. Kiểm tra nhật ký máy chủ (server logs) – Tìm kiếm các yêu cầu bất thường đến các endpoint social-login của plugin, chẳng hạn như các yêu cầu lặp đi lặp lại từ cùng một địa chỉ IP hoặc các lệnh gọi chứa JWT không hợp lệ.
  4. Biện pháp giảm thiểu tạm thời – Nếu bạn không thể áp dụng bản cập nhật ngay lập tức, hãy vô hiệu hóa tính năng đăng nhập bằng Apple trong phần cài đặt của plugin. Điều này sẽ loại bỏ vector dễ bị khai thác nhất trong khi bạn lên kế hoạch nâng cấp.

Những gì nhà phát triển có thể học hỏi

  • Luôn luôn xác minh chữ ký JWT – Lấy JSON Web Key Set (JWKS) của nhà cung cấp và xác thực bằng chứng mã hóa của token trước khi tin tưởng bất kỳ thông tin (claim) nào.
  • Kiểm tra nhà phát hành, đối tượng và thời gian hết hạn – Các trường này xác nhận rằng token dành cho trang web của bạn và vẫn còn hiệu lực.
  • Không bao giờ để lộ các authentication nonce một cách công khai – Nonce nên được tạo ở phía máy chủ (server-side) và chỉ được gửi đến các phiên làm việc đã được xác thực.
  • Hạn chế việc gán vai trò – Các luồng đăng nhập qua mạng xã hội không bao giờ được cấp các vai trò có đặc quyền cao (như quản trị viên) mà không có các bước xác minh bổ sung.

Phản hồi từ nhà cung cấp

WPWeb Elite đã phát hành phiên bản đã được vá lỗi.

Những điều cần lưu ý tiếp theo

Bài học rút ra: Chỉ một lần thiếu kiểm tra chữ ký đã biến nút “Sign in with Apple” tiện lợi thành một cửa hậu (backdoor) để chiếm quyền kiểm soát toàn bộ trang web. Cập nhật plugin, vô hiệu hóa phương thức đăng nhập dễ bị tổn thương và thắt chặt việc xác minh token là những biện pháp phòng thủ đáng tin cậy duy nhất cho đến khi bản vá được triển khai rộng rãi.