Tác động
Kẻ tấn công được xác thực có thể thực thi mã PHP tùy ý trên máy chủ web cơ bản [S1]. Điều này cho phép xâm phạm hệ thống hoàn chỉnh, bao gồm lọc dữ liệu, sửa đổi nội dung trang web và di chuyển ngang trong môi trường lưu trữ [S1].
Nguyên nhân gốc rễ
Lỗ hổng tồn tại trong các thành phần biên dịch và soạn thảo mẫu SPIP [S1]. Hệ thống không thể xác thực hoặc vệ sinh đúng cách dữ liệu đầu vào trong các thẻ mẫu cụ thể khi xử lý các tệp đã tải lên [S1]. Cụ thể, trình biên dịch xử lý không chính xác các thẻ INCLUDE hoặc INCLURE được tạo thủ công bên trong các tệp HTML [S1]. Khi kẻ tấn công truy cập các tệp đã tải lên này thông qua hành động valider_xml, các thẻ độc hại sẽ được xử lý, dẫn đến việc thực thi mã PHP [S1].
Phiên bản bị ảnh hưởng
- Phiên bản SPIP 3.1.2 và tất cả các phiên bản trước [S1].
Cách khắc phục
Cập nhật SPIP lên phiên bản mới hơn 3.1.2 để giải quyết lỗ hổng [S1] này. Đảm bảo rằng quyền tải lên tệp được hạn chế nghiêm ngặt đối với người dùng quản trị đáng tin cậy và các tệp đã tải lên không được lưu trữ trong các thư mục mà máy chủ web có thể thực thi chúng dưới dạng tập lệnh [S1].
FixVibe kiểm tra nó như thế nào
FixVibe có thể phát hiện lỗ hổng này thông qua hai phương pháp chính:
- Lấy dấu vân tay thụ động: Bằng cách phân tích tiêu đề phản hồi HTTP hoặc thẻ meta cụ thể trong nguồn HTML, FixVibe có thể xác định phiên bản đang chạy của SPIP [S1]. Nếu phiên bản là 3.1.2 trở xuống, nó sẽ kích hoạt cảnh báo [S1] ở mức độ nghiêm trọng cao.
- Quét kho lưu trữ: Đối với người dùng kết nối kho lưu trữ GitHub của họ, trình quét kho lưu trữ của FixVibe có thể kiểm tra các tệp phụ thuộc hoặc hằng số xác định phiên bản trong mã nguồn SPIP để xác định các bản cài đặt dễ bị tổn thương [S1].
