-
09/04/2020
-
93
-
611 bài viết
Plugin phổ biến của WordPress tồn tại lỗ hổng nghiêm trọng
Gravity Forms, một plugin phải trả phí của WordPress, là công cụ tạo biểu mẫu tùy chỉnh mà chủ sở hữu trang web sử dụng dùng để tạo các biểu mẫu thanh toán, đăng ký, tải tệp tin hoặc bất kỳ biểu mẫu nào khác cần thiết cho sự tương tác hoặc giao dịch giữa khách truy cập và trang web. Gravity Forms hiện được hơn 930.000 trang web sử dụng, bao gồm nhiều công ty lớn như Airbnb, ESPN, Nike, NASA, PennState và Unicef...
Mới đây, các nhà nghiên cứu đã phát hiện lỗ hổng PHP Object Injection chưa xác thực (lỗi không lọc đầu vào đúng cách cho phép hacker thực hiện tấn công chèn lệnh) tồn tại trong Plugin này.
Lỗ hổng trong Gravity Forms có mã định danh CVE-2023-28782, ảnh hưởng đến tất cả các phiên bản từ 2.7.3 trở xuống. Việc khai thác lỗ hổng thành công có thể dẫn đến truy cập và thay đổi tệp tin tùy ý, đánh cắp dữ liệu người dùng, thực thi mã...
Theo cảnh báo từ các chuyên gia, vì PHP cho phép serialize (chuyển đổi trạng thái) đối tượng, một người dùng chưa được xác thực cũng có thể truyền các chuỗi tuần tự hóa tùy ý vào hàm unserialize có lỗ hổng, dẫn đến việc chèn đối tượng PHP vào ứng dụng.
Lỗ hổng này có thể được kích hoạt trên cài đặt mặc định hoặc cấu hình của plugin Gravity Forms và chỉ cần có một biểu mẫu đã tạo chứa một trường danh sách.
Nhà cung cấp đã đã loại bỏ việc sử dụng hàm 'maybe_unserialize' và giải quyết lỗ hổng trong phiên bản 2.7.4 phát hành vào ngày 11 tháng 4 năm 2023. Vì vậy, quản trị viên trang web sử dụng Gravity Forms nên cập nhật bản vá càng sớm càng tốt.
Mới đây, các nhà nghiên cứu đã phát hiện lỗ hổng PHP Object Injection chưa xác thực (lỗi không lọc đầu vào đúng cách cho phép hacker thực hiện tấn công chèn lệnh) tồn tại trong Plugin này.
Lỗ hổng trong Gravity Forms có mã định danh CVE-2023-28782, ảnh hưởng đến tất cả các phiên bản từ 2.7.3 trở xuống. Việc khai thác lỗ hổng thành công có thể dẫn đến truy cập và thay đổi tệp tin tùy ý, đánh cắp dữ liệu người dùng, thực thi mã...
Chi tiết lỗ hổng
Lỗ hổng bắt nguồn từ việc thiếu kiểm tra dữ liệu đầu vào từ người dùng cho hàm 'maybe_unserialize' và có thể được kích hoạt bằng cách gửi dữ liệu đến một biểu mẫu được tạo bằng Gravity Forms.Theo cảnh báo từ các chuyên gia, vì PHP cho phép serialize (chuyển đổi trạng thái) đối tượng, một người dùng chưa được xác thực cũng có thể truyền các chuỗi tuần tự hóa tùy ý vào hàm unserialize có lỗ hổng, dẫn đến việc chèn đối tượng PHP vào ứng dụng.
Lỗ hổng này có thể được kích hoạt trên cài đặt mặc định hoặc cấu hình của plugin Gravity Forms và chỉ cần có một biểu mẫu đã tạo chứa một trường danh sách.
Chức năng tồn tại lỗ hổng
Mặc dù CVE-2023-28782 là lỗ hổng nghiêm trọng, các nhà phân tích không thể tìm thấy chuỗi POP (property-oriented programming: điều hướng chương trình theo ý muốn) trong plugin Gravity Forms. Điều này phần nào giảm thiểu rủi ro mà lỗ hổng này gây ra. Tuy nhiên, rủi ro vẫn còn tồn tại nếu trang web có sử dụng các plugin hoặc giao diện (theme) khác chứa một chuỗi POP.Nhà cung cấp đã đã loại bỏ việc sử dụng hàm 'maybe_unserialize' và giải quyết lỗ hổng trong phiên bản 2.7.4 phát hành vào ngày 11 tháng 4 năm 2023. Vì vậy, quản trị viên trang web sử dụng Gravity Forms nên cập nhật bản vá càng sớm càng tốt.
Nguồn: Bleeping Computer