MỤC LỤC:
- Tường lửa có thể bị vô hiệu hóa
- Plugin InfiniteWP Client
- Plugin WP Time Capsule
2 plugins InfiniteWP Client và WP Time Capsule được phát hiện chứa lỗi bảo mật vô cùng nghiêm trọng
Cách đây không lâu, một lỗ hổng bỏ qua xác thực trong Addons Ultimate đã được tìm thấy cho các plugin Elementor và Beaver Builder.
Lần này, một số nhà nghiên cứu đã phát hiện ra plugin InfiniteWP Client và WP Time Capsule cũng chứa các vấn đề logic trong mã nguồn cho phép hacker đăng nhập vào tài khoản quản trị viên mà không cần mật khẩu.
Nhà phát triển plugins đã rất nhanh chóng kiểm tra và phát hành các bản vá vào ngày hôm sau. Thật tuyệt vời khi thấy các nhà phát triển đang hành động nhanh chóng và cho khách hàng của họ biết về các vấn đề, để giúp mọi người cập nhật lên phiên bản an toàn hơn càng sớm càng tốt.
Tường lửa có thể bị vô hiệu hóa
Vì các lỗ hổng bỏ qua xác thực thường là các lỗi logic trong mã nguồn và không thực sự liên quan đến tải trọng đáng ngờ, nên có thể khó tìm và xác định các vấn đề này đến từ đâu.
Trong trường hợp này, thật khó để chặn lỗ hổng này bằng các quy tắc tường lửa chung, vì tải trọng được mã hóa và tải trọng độc hại sẽ không khác nhiều so với tải trọng hợp pháp của cả hai plugins.
Các nhà nghiên cứu đã thêm một module mới trong tường lửa WebARX để có thể chặn lỗ hổng này vì cả hai plugin không kết nối với core WordPress như mong đợi. Trong tương lai, tính năng mới này có thể được phát triển thêm để chặn các vấn đề tương tự.
Do bản chất của lỗ hổng bảo mật, tường lửa dựa trên đám mây có thể không thể tạo ra sự khác biệt giữa lưu lượng truy cập độc hại hoặc hợp pháp và do đó có thể không cung cấp sự bảo vệ hiệu quả chống lại lỗ hổng này.
Bất cứ ai sử dụng tường lửa của một công ty khác nên hỏi họ xem các lỗ hổng cụ thể này có bị chặn bởi tường lửa của họ hay không.
Plugin InfiniteWP Client
Các phiên bản của plugin InfiniteWP Client dưới 1.9.4.5 sẽ bị ảnh hưởng bởi lỗ hổng này.
Mô tả cuộc tấn công này: Trước tiên yêu cầu một tải trọng được mã hóa bằng JSON, sau đó là Base64. Tiếp theo, nó được gửi thô đến trang web được nhắm mục tiêu trong một POST request.
Tất cả những gì chúng ta cần biết là tên người dùng của quản trị viên trên trang web. Sau khi yêu cầu đã được gửi, bạn sẽ tự động đăng nhập với tư cách người dùng.
Sự khác biệt này bạn có thể xem thông tin tại WordPress.org
Vấn đề nằm trong hàm iwp_mmb_set_Vquest nằm trong tệp init.php. Hàm này kiểm tra xem biến request_params của lớp IWP_MMB_Core không trống, chỉ được điền khi tải trọng đáp ứng một số điều kiện nhất định.
Trong trường hợp này, điều kiện là tham số iwp_action của tải trọng phải bằng readd_site hoặc add_site vì chúng là các hành động duy nhất không có kiểm tra ủy quyền tại chỗ. Kiểm tra ủy quyền bị thiếu là lý do tại sao vấn đề này tồn tại.
Khi tải trọng đáp ứng điều kiện này, tham số tên người dùng được cung cấp sẽ được sử dụng để đăng nhập người yêu cầu với tư cách là người dùng đó mà không thực hiện bất kỳ xác thực nào khác như hiển thị bên dưới.
Như bạn có thể thấy, thay đổi duy nhất họ đã thực hiện là các hành động add_site và readd_site sẽ không còn tạo ra biến request_params mà quay lại sớm trong hàm.
Dựa trên thư viện plugin WordPress, plugin InfiniteWP Client đang hoạt động trên 300.000 trang web. Trang web InfiniteWP tuyên bố họ có 513.520 trang web đang hoạt động.
URL WPScan: https://wpvulndb.com/vulnerabilities/10011
Plugin WP Time Capsule
Đối với WP Time Capsule, các nhà nghiên cứu đã xác định các phiên bản dưới 1.21.16 sẽ dễ dàng bị tấn công.
Plugin WP Time Capsule không yêu cầu tải trọng phức tạp hơn mà chỉ cần chứa một chuỗi nhất định trong phần thân của POST request.
Vấn đề nằm ở dòng 12 wptc-cron-tests.php nơi phân tích yêu cầu. Hàm parse_Vquest gọi hàm decode_server_Vquest_wptc để kiểm tra xem tải trọng POST có chứa chuỗi IWP_JSON_PREFIX hay không.
Nếu nó chứa chuỗi này, nó sẽ gọi wptc_login_as_admin (lấy tất cả các tài khoản quản trị viên có sẵn và sử dụng tài khoản đầu tiên trong danh sách) và hacker sẽ đăng nhập với tư cách quản trị viên như bên dưới.
Nhà phát triển đã khắc phục bằng cách đưa bản vá mới, xóa một số yêu cầu gọi đến hàm wptc_login_as_admin và thực hiện thay đổi để tính xác thực của tải trọng được xác minh trước khi tiếp tục xử lý.
Dựa trên thư viện plugin WordPress, plugin WP Time Capsule đang hoạt động trên 20.000 website.
URL WPScan: https://wpvulndb.com/vulnerabilities/10010