Lỗ hổng trong libinput dẫn đến việc thực thi mã khi kết nối thiết bị độc hại

Thư viện libinput 1.20.1, cung cấp ngăn xếp đầu vào thống nhất cho phép bạn sử dụng cùng một phương tiện xử lý sự kiện từ thiết bị đầu vào trong môi trường dựa trên Wayland và X.Org, đã loại bỏ lỗ hổng bảo mật (CVE-2022-1215). cho phép bạn tổ chức thực thi mã của mình khi kết nối thiết bị đầu vào được mô phỏng/sửa đổi đặc biệt với hệ thống. Sự cố xuất hiện trong các môi trường dựa trên X.Org và Wayland và có thể bị khai thác cả khi kết nối các thiết bị cục bộ và khi thao tác với các thiết bị có giao diện Bluetooth. Nếu máy chủ X đang chạy bằng quyền root, lỗ hổng này cho phép mã được thực thi với các đặc quyền nâng cao.

Sự cố xảy ra do lỗi định dạng dòng trong mã chịu trách nhiệm xuất thông tin kết nối thiết bị vào nhật ký. Cụ thể, hàm evdev_log_msg, sử dụng lệnh gọi tới snprintf, đã thay đổi chuỗi định dạng ban đầu của mục nhật ký mà tên thiết bị đã được thêm làm tiền tố. Tiếp theo, chuỗi đã sửa đổi được chuyển đến hàm log_msg_va, hàm này sử dụng hàm printf. Do đó, đối số đầu tiên của printf, phân tích ký tự định dạng được áp dụng, chứa dữ liệu bên ngoài không được xác thực và kẻ tấn công có thể bắt đầu làm hỏng ngăn xếp bằng cách khiến thiết bị trả về tên chứa các ký tự định dạng chuỗi (ví dụ: "Evil %s") .

Nguồn: opennet.ru

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