Lỗ hổng trong mô-đun ksmbd của nhân Linux, cho phép bạn thực thi mã của mình từ xa

Một lỗ hổng nghiêm trọng đã được xác định trong mô-đun ksmbd, bao gồm việc triển khai máy chủ tệp dựa trên giao thức SMB được tích hợp trong nhân Linux, cho phép bạn thực thi mã của mình từ xa bằng quyền kernel. Cuộc tấn công có thể được thực hiện mà không cần xác thực, chỉ cần kích hoạt mô-đun ksmbd trên hệ thống là đủ. Sự cố đã xuất hiện kể từ kernel 5.15, phát hành vào tháng 2021 năm 5.15.61 và đã được khắc phục một cách âm thầm trong các bản cập nhật 5.18.18, 5.19.2 và 2022, phát hành vào tháng XNUMX năm XNUMX. Vì mã định danh CVE chưa được gán cho sự cố nên không có thông tin chính xác về cách khắc phục sự cố trong các bản phân phối.

Thông tin chi tiết về việc khai thác lỗ hổng vẫn chưa được tiết lộ, người ta chỉ biết lỗ hổng xảy ra do truy cập vào vùng bộ nhớ đã được giải phóng (Use-After-Free) do không kiểm tra sự tồn tại của đối tượng trước khi thực hiện các thao tác. trên đó. Vấn đề là do hàm smb2_tree_disconnect() đã giải phóng bộ nhớ được phân bổ cho cấu trúc ksmbd_tree_connect, nhưng sau đó vẫn có một con trỏ được sử dụng khi xử lý một số yêu cầu bên ngoài nhất định có chứa các lệnh SMB2_TREE_DISCONNECT.

Ngoài lỗ hổng nêu trên, 4 vấn đề ít nguy hiểm hơn cũng đã được khắc phục trong ksmbd:

  • ZDI-22-1688 - thực thi mã từ xa với quyền kernel do mã xử lý thuộc tính tệp không kiểm tra kích thước thực của dữ liệu ngoài trước khi sao chép nó vào bộ đệm chuyên dụng. Lỗ hổng được giảm thiểu do cuộc tấn công chỉ có thể được thực hiện bởi người dùng đã được xác thực.
  • ZDI-22-1691 - rò rỉ thông tin từ xa từ bộ nhớ kernel do kiểm tra không chính xác các tham số đầu vào trong trình xử lý lệnh SMB2_WRITE (cuộc tấn công chỉ có thể được thực hiện bởi người dùng đã được xác thực).
  • ZDI-22-1687 - từ chối dịch vụ từ xa do hết bộ nhớ khả dụng trong hệ thống do giải phóng tài nguyên không chính xác trong trình xử lý lệnh SMB2_NEGOTIATE (cuộc tấn công có thể được thực hiện mà không cần xác thực).
  • ZDI-22-1689 - Sự cố hạt nhân từ xa do thiếu xác thực chính xác các tham số của lệnh SMB2_TREE_CONNECT, dẫn đến việc đọc từ một khu vực bên ngoài bộ đệm (cuộc tấn công chỉ có thể được thực hiện bởi người dùng đã được xác thực).

Hỗ trợ chạy máy chủ SMB bằng mô-đun ksmbd đã có trong gói Samba kể từ bản phát hành 4.16.0. Không giống như máy chủ SMB trong không gian người dùng, ksmbd hiệu quả hơn về hiệu suất, mức tiêu thụ bộ nhớ và tích hợp với các tính năng kernel nâng cao. Ksmbd được quảng cáo là tiện ích mở rộng Samba có hiệu suất cao, sẵn sàng nhúng, tích hợp với các công cụ và thư viện Samba khi cần. Mã ksmbd được viết bởi Namjae Jeon của Samsung và Hyunchul Lee của LG, và hạt nhân được duy trì bởi Steve French của Microsoft, người duy trì các hệ thống con CIFS/SMB2/SMB3 trong nhân Linux và là thành viên lâu năm của nhóm phát triển Samba. , người đã đóng góp đáng kể vào việc triển khai hỗ trợ các giao thức SMB/CIFS trong Samba và Linux.

Nguồn: opennet.ru

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