Một số lỗ hổng được tìm thấy trong trình quản lý phím nóng của Wayland

Một vài ngày trước, tin tức đã được phát hành rằng một số lỗ hổng đã được tìm thấy trong swhkd (Simple Wayland HotKey Daemon) do xử lý sai các tệp tạm thời, tùy chọn dòng lệnh và ổ cắm unix.

Chương trình được viết bằng Rust và xử lý các phím nóng trong môi trường dựa trên giao thức Wayland (một tương tự tương thích với tệp cấu hình của quy trình sxhkd được sử dụng trong môi trường dựa trên X11). Gói này bao gồm một quy trình swhks không đặc quyền thực hiện các hành động cho phím nóng và một quy trình nền swhkd chạy dưới dạng root và tương tác với các thiết bị đầu vào ở cấp uinput API. Để tổ chức sự tương tác giữa swhks và swhkd, một ổ cắm Unix được sử dụng.

Các quy tắc của Polkit cho phép bất kỳ người dùng cục bộ nào chạy quy trình / usr / bin / swhkd với tư cách là người chủ và chuyển các tham số tùy ý cho nó.

Sự tích hợp của gói RPM được gửi cho openSUSE Tumbleweed chứa các quy tắc Polkit bất thường trong tệp định nghĩa yêu cầu nhóm bảo mật SUSE xem xét.

Kết quả của việc xem xét, nhiều vấn đề bảo mật đã được xác định. Các vấn đề riêng lẻ được mô tả trong báo cáo chi tiết bên dưới.

Của các lỗ hổng đã được xác định, những điều sau được đề cập:

CVE-2022-27815

Lỗ hổng này cho phép lưu PID quy trình trong một tệp có tên có thể đoán trước và trong thư mục có thể ghi cho người dùng khác (/tmp/swhkd.pid), theo đó bất kỳ người dùng nào cũng có thể tạo tệp /tmp/swhkd.pid và đưa pid của một quy trình hiện có vào đó, điều này sẽ khiến nó không thể khởi động swhkd.

Trong trường hợp không có biện pháp bảo vệ chống lại việc tạo các liên kết tượng trưng trong / tmp, lỗ hổng bảo mật có thể được sử dụng để tạo hoặc ghi đè lên các tệp trong bất kỳ thư mục nào trên hệ thống (PID được ghi vào tệp) hoặc xác định nội dung của bất kỳ tệp nào trên hệ thống (swhkd xuất toàn bộ nội dung của tệp PID sang stdout). Cần lưu ý rằng trong bản sửa lỗi đã phát hành, tệp PID không được chuyển đến thư mục / run, mà là thư mục / etc (/etc/swhkd/runtime/swhkd_{uid}.pid), nơi nó cũng không thuộc về .

CVE-2022-27814

Lỗ hổng này cho phép bạn thao tác tùy chọn dòng lệnh "-c" để chỉ định tệp cấu hình có thể xác định sự tồn tại của bất kỳ tệp nào trên hệ thống.

Như trong trường hợp lỗ hổng đầu tiên, việc khắc phục sự cố rất khó hiểu: việc khắc phục sự cố bắt nguồn từ thực tế là tiện ích "cat" bên ngoài ('Command :: new ("/ bin / cat"). Arg (path) là bây giờ được khởi chạy để đọc tệp cấu hình.output () ').

CVE-2022-27819

Vấn đề này nó cũng liên quan đến việc sử dụng tùy chọn "-c", tải và phân tích cú pháp toàn bộ tệp cấu hình mà không cần kiểm tra kích thước và loại tệp.

Ví dụ: để gây ra từ chối dịch vụ do hết bộ nhớ trống và tạo I / O bị lạc, bạn có thể chỉ định thiết bị khối khi khởi động ("pkexec / usr / bin / swhkd -d -c / dev / sda») hoặc thiết bị ký tự phát ra luồng dữ liệu vô hạn.

Sự cố đã được giải quyết bằng cách đặt lại các đặc quyền trước khi mở tệp, nhưng giải pháp không hoàn chỉnh vì chỉ có ID người dùng (UID) được đặt lại, nhưng ID nhóm (GID) vẫn giữ nguyên.

CVE-2022-27818

Lỗ hổng này cho phép bạn sử dụng tệp /tmp/swhkd.sock để tạo ổ cắm Unix, được tạo trong một thư mục có thể ghi công khai, gây ra các vấn đề tương tự với lỗ hổng đầu tiên (bất kỳ người dùng nào cũng có thể tạo /tmp/swhkd.sock và tạo hoặc chặn các sự kiện nhấn phím).

CVE-2022-27817

Trong lỗ hổng này, các sự kiện đầu vào được nhận từ tất cả các thiết bị và trong tất cả các phiênnghĩa là người dùng trong Wayland hoặc phiên giao diện điều khiển khác có thể chặn các sự kiện khi người dùng khác nhấn phím nóng.

CVE-2022-27816

Quy trình swhks, giống như swhkd, sử dụng tệp PID /tmp/swhks.pid trong thư mục có thể ghi công khai / tmp. Vấn đề tương tự như lỗ hổng đầu tiên, nhưng không nguy hiểm vì swhks chạy dưới quyền người dùng không có đặc quyền.

Cuối cùng, nếu bạn muốn biết thêm về nó, bạn có thể tham khảo chi tiết trong liên kết sau.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: AB Internet Networks 2008 SL
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.