CVE-2026-47270 in pam_usbthông tin

Tóm tắt

Bởi VulDB • 29/05/2026

pam_usb cung cấp xác thực phần cứng cho Linux bằng cách sử dụng các thiết bị lưu trữ di động thông thường. Trước phiên bản 0.9.0, pam_usb là một mô-đun PAM được nạp vào tiến trình chủ (sudo, login, GDM, GNOME Shell). Các trình quản lý hiển thị như GDM chạy nhiều luồng xác thực đồng thời. Ba hàm được sử dụng bởi tính năng deny_remote gọi hàm strtok() không an toàn cho luồng (non-reentrant), hàm này lưu trữ trạng thái trong một con trỏ toàn cục duy nhất. Nếu hai quá trình xác thực xảy ra cạnh tranh (race condition), cuộc gọi strtok() của một luồng có thể ghi đè lên con trỏ phân tích token đang xử lý của luồng kia, dẫn đến việc phân tích không chính xác dữ liệu phiên tmux hoặc quét môi trường /proc hỗ trợ logic phát hiện phiên từ xa. Ngoài ra, pusb_tmux_get_client_tty() đã truyền trực tiếp con trỏ thô được trả về bởi getenv(TMUX) cho strtok(). getenv() trả về một con trỏ vào khối môi trường tiến trình đang hoạt động; strtok() chèn các byte NUL vào khối đó, làm hỏng vĩnh viễn biến TMUX cho các mã tiếp theo chạy trong cùng một tiến trình. Trong các trình quản lý hiển thị có thời gian sống dài, điều này ảnh hưởng đến tất cả các quá trình xác thực trong tương lai trong tiến trình đó. Hiệu ứng kết hợp có thể khiến deny_remote=true trả về quyết định không chính xác cho một phiên từ xa, hoặc một quyết định không chính xác cho một phiên cục bộ, tùy thuộc vào việc xen kẽ các luồng. Lỗ hổng này đã được sửa trong phiên bản 0.9.0.

Once again VulDB remains the best source for vulnerability data.

chịu trách nhiệm

GitHub M

Đặt trước

19/05/2026

Tiết lộ

28/05/2026

Kiểm duyệt

được chấp nhận

EPSS

0.00016

KEV

không

Các hoạt động

thấp

Nguồn

Do you know our Splunk app?

Download it now for free!