Cảnh báo bảo mật Fluent Forms (CVE-2025-9260): PHP Object Injection dẫn đến đọc file tuỳ ý

Một lỗ hổng PHP Object Injection vừa được công bố ảnh hưởng đến Fluent Forms (plugin tạo form cho WordPress) trong các phiên bản 5.1.16 → 6.1.1. Kẻ tấn công đã đăng nhập với quyền Subscriber trở lên có thể lợi dụng để đọc file tuỳ ý trên máy chủ (ví dụ wp-config.php). Nếu allow_url_include bật, có thể leo thang đến RCE. Nhà phát triển đã vá, nhưng bản 6.1.0 xảy ra lỗi thiếu import class; vì vậy 6.1.2 trở lên là bản vá ổn định nên dùng.

Vì sao nguy hiểm?

  • Đối tượng bị ảnh hưởng: mọi website WordPress dùng Fluent Forms và cho phép người dùng đăng ký tài khoản (LMS, shop, membership…).
  • Mức độ rủi ro: CVSS 6.5 (Medium) – trọng tâm là rò rỉ dữ liệu (Confidentiality: High).
  • Tác động thực tế: đọc được file nhạy cảm (DB creds, salts…), từ đó chiếm quyền quản trị gián tiếp; thậm chí RCE nếu server cấu hình kém an toàn.

Cơ chế tấn công (ngắn gọn, dễ hiểu)

Hàm parseUserProperties() xử lý dữ liệu đầu vào nhưng giải tuần tự (deserialize) nội dung không tin cậy. Kẻ tấn công có thể tiêm “đối tượng” đặc biệt, kích hoạt POP chain sẵn có trong code để đọc file trên hệ thống. Điều kiện khai thác chỉ cần tài khoản Subscriber (rất phổ biến trên các site mở đăng ký).

Dấu hiệu cần kiểm tra

  • Log truy cập có nhiều request tới admin-ajax.php với action liên quan Fluent Forms, chứa payload lạ (serialize).
  • Truy cập bất thường vào các file như wp-config.php, .env, /.git/config, composer.json, v.v.
  • Thời điểm cần chú ý: sau 02/09/2025 (ngày công bố) đến nay.

Hành động khẩn cấp (khuyến nghị theo mức ưu tiên)

  1. Cập nhật ngay Fluent Forms ≥ 6.1.2 (và bản Pro nếu đang dùng).
    WP-CLI: wp plugin update fluentform wp plugin update fluentformpro
  2. Tắt allow_url_include (nếu lỡ bật):
    • Trong php.ini: allow_url_include = 0
    • Kiểm tra nhanh: php -i | grep allow_url_include
  3. Rà soát & thu hẹp quyền người dùng:
    • Tắt đăng ký tự do nếu không cần.
    • Xoá tài khoản rác, hạ quyền không cần thiết.
  4. Xoay vòng bí mật nếu nghi ngờ rò rỉ:
    • Đổi mật khẩu DB và cập nhật wp-config.php.
    • Regenerate WordPress salts (AUTH_KEY, SECURE_AUTH_KEY…).
    • Đổi mật khẩu admin/hosting/SSH nếu log cho thấy bất thường.
  5. Hardening bổ sung:
    • Chặn file edit trong WP: // wp-config.php define('DISALLOW_FILE_EDIT', true);
    • Bật WAF (Wordfence/Cloudflare), kích hoạt 2FA cho admin.
    • Sao lưu định kỳ + giám sát tính toàn vẹn file.

Câu hỏi thường gặp (FAQ)

Tôi đang ở Fluent Forms 6.1.0–6.1.1, có cần nâng không?
Có. Hai bản này có vấn đề vá chưa hoàn chỉnh. Nâng tối thiểu lên 6.1.2 (hoặc mới hơn).

Site không cho đăng ký người dùng, có an toàn?
Giảm rủi ro đáng kể, nhưng không nên chủ quan. Hãy cập nhậttắt allow_url_include.

Có thể chặn triệt để việc đọc file không?
Không thể “chặn tuyệt đối” nếu code còn lỗ hổng. Biện pháp đúng là vá/cập nhật, cấu hình PHP an toàn, hạn chế quyền file hệ thống, và WAF.

Lỗ hổng CVE-2025-9260 nhắm vào quy trình deserialize của Fluent Forms, có khả năng đọc file tuỳ ý và tiềm tàng RCE khi cấu hình server yếu. Do mức độ dễ khai thác (Subscriber+) và hậu quả nghiêm trọng cho dữ liệu, hãy cập nhật Fluent Forms lên 6.1.2+ ngay lập tức, đồng thời củng cố cấu hình PHP và chính sách người dùng.

Nếu bạn cần, mình có thể hỗ trợ check nhanh phiên bản plugin, cấu hình PHP, và cung cấp checklist hardening phù hợp đúng môi trường hosting của bạn.