Lỗ hổng trong phần sụn AMI MegaRAC do vận chuyển phiên bản cũ của lighttpd

Một lỗ hổng đã được xác định trong phần mềm MegaRAC từ American Megatrends (AMI), được sử dụng trong bộ điều khiển BMC (Bộ điều khiển quản lý bảng cơ sở) được các nhà sản xuất máy chủ sử dụng để tổ chức quản lý thiết bị tự động, cho phép kẻ tấn công không được xác thực đọc từ xa nội dung bộ nhớ của máy. quá trình cung cấp chức năng của giao diện web. Lỗ hổng này xuất hiện trong phần sụn được phát hành từ năm 2019 và nguyên nhân là do vận chuyển một phiên bản cũ của máy chủ HTTP Lighttpd có chứa lỗ hổng chưa được vá.

Trong cơ sở mã Lighttpd, lỗ hổng này đã được sửa vào năm 2018 trong phiên bản 1.4.51, nhưng bản sửa lỗi được thực hiện mà không chỉ định mã nhận dạng CVE cũng như không xuất bản báo cáo mô tả bản chất của lỗ hổng. Ghi chú phát hành đã đề cập đến các bản sửa lỗi bảo mật nhưng tập trung vào lỗ hổng trong mod_userdir liên quan đến việc sử dụng các ký tự ".." và "." trong tên người dùng.

Danh sách các thay đổi cũng đề cập đến sự cố khi xử lý tiêu đề HTTP, nhưng bản sửa lỗi này đã bị các nhà phát triển chương trình cơ sở bỏ qua và không được chuyển sang sản phẩm, vì lưu ý về khả năng loại bỏ lỗ hổng lớp use-after-free chỉ có trong văn bản của cam kết và trong danh sách chung không có thay đổi nào được thực hiện để chỉ ra rằng lỗi dẫn đến quyền truy cập bộ nhớ sau khi rảnh.

Lỗ hổng cho phép nội dung của bộ nhớ được đọc bên ngoài bộ đệm được phân bổ. Sự cố xảy ra do lỗi trong mã hợp nhất tiêu đề HTTP được sử dụng khi chỉ định nhiều phiên bản của tiêu đề HTTP "If-Modified-Since". Khi xử lý phiên bản thứ hai của tiêu đề, lighttpd đã phân bổ một bộ đệm mới để giữ giá trị đã hợp nhất và giải phóng bộ nhớ cho bộ đệm chứa giá trị từ tiêu đề đầu tiên. Trong trường hợp này, con trỏ con->request.http_if_modified_since không thay đổi và tiếp tục trỏ đến vùng bộ nhớ đã được giải phóng.

Vì con trỏ này được sử dụng trong các hoạt động so sánh nội dung của tiêu đề If-Modified-Since, kết quả của nó dẫn đến việc tạo ra các mã trả về khác nhau, kẻ tấn công có thể, bằng vũ lực, đoán nội dung mới của bộ nhớ trước đó. bị chiếm bởi bộ đệm đầu tiên. Sự cố này có thể được sử dụng kết hợp với các lỗ hổng khác, chẳng hạn như để xác định cách bố trí bộ nhớ nhằm vượt qua các cơ chế bảo mật như ASLR (Ngẫu nhiên hóa không gian địa chỉ).

Sự hiện diện của lỗ hổng này đã được xác nhận trên nền tảng máy chủ Lenovo và Intel, nhưng các công ty này không có kế hoạch phát hành bản cập nhật chương trình cơ sở do đã hết thời gian hỗ trợ cho các sản phẩm sử dụng các chương trình cơ sở này và mức độ nghiêm trọng thấp của lỗ hổng. Sự cố xuất hiện trong phần sụn dành cho các nền tảng Intel M70KLP và Lenovo HX3710, HX3710-F và HX2710-E (lỗ hổng hiện diện, cùng với các lỗ hổng khác, trong các phiên bản phần sụn mới nhất Lenovo 2.88.58 và Intel 01.04.0030). Ngoài ra, có thông tin cho rằng lỗ hổng trong lighttpd cũng xuất hiện trong phần sụn của thiết bị Supermicro và trong các máy chủ sử dụng bộ điều khiển BMC của Duluth và AETN.

Nguồn: opennet.ru

Thêm một lời nhận xét