Lỗ hổng trong hệ thống con nhân Linux của USB Gadget, có khả năng cho phép thực thi mã

Tiện ích USB, một hệ thống con của nhân Linux cung cấp giao diện lập trình để tạo thiết bị khách USB và phần mềm mô phỏng thiết bị USB, có lỗ hổng (CVE-2021-39685) có thể dẫn đến rò rỉ thông tin từ nhân, sự cố hoặc thực thi mã tùy ý ở cấp độ hạt nhân. Cuộc tấn công được thực hiện bởi một người dùng cục bộ không có đặc quyền thông qua việc thao túng các lớp thiết bị khác nhau được triển khai dựa trên API tiện ích USB, chẳng hạn như rndis, hid, uac1, uac1_legacy và uac2.

Sự cố đã được khắc phục trong các bản cập nhật nhân Linux 5.15.8, 5.10.85, 5.4.165, 4.19.221, 4.14.258, 4.9.293 và 4.4.295. Sự cố vẫn chưa được khắc phục trong các bản phân phối (Debian, Ubuntu, RHEL, SUSE, Fedora, Arch). Một nguyên mẫu khai thác đã được chuẩn bị để chứng minh lỗ hổng.

Sự cố xảy ra do tràn bộ đệm trong trình xử lý yêu cầu truyền dữ liệu trong trình điều khiển tiện ích rndis, hid, uac1, uac1_legacy và uac2. Do khai thác lỗ hổng, kẻ tấn công không có đặc quyền có thể giành quyền truy cập vào bộ nhớ kernel bằng cách gửi yêu cầu kiểm soát đặc biệt với giá trị trường wLength vượt quá kích thước của bộ đệm tĩnh, trong đó 4096 byte luôn được phân bổ (USB_COMP_EP0_BUFSIZ). Trong cuộc tấn công, một quy trình không có đặc quyền trong không gian người dùng có thể đọc hoặc ghi tối đa 65 KB dữ liệu vào bộ nhớ kernel.

Nguồn: opennet.ru

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