CVE-2025-38632 in Linuxthông tin

Tóm tắt

Bởi VulDB • 24/06/2026

Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:

pinmux: sửa lỗi race condition gây ra trạng thái NULL cho mux_owner khi mux_usecount đang hoạt động

commit 5a3e85c3c397 ("pinmux: Sử dụng truy cập tuần tự để truy cập dữ liệu desc->pinmux") cố gắng giải quyết vấn đề xảy ra khi hai client của cùng một gpio gọi pinctrl_select_state() cho cùng một chức năng, dẫn đến lỗi con trỏ NULL trong quá trình truy cập vào desc->mux_owner. Tuy nhiên, vấn đề chưa được khắc phục hoàn toàn do cách xử lý hiện tại và vẫn có thể gây ra lỗi con trỏ NULL tương tự.

Vấn đề xảy ra do sự xen kẽ (interleaving) sau đây:

cpu0 (tiến trình A) cpu1 (tiến trình B)

pin_request() { pin_free() {

mutex_lock() desc->mux_usecount--; // trở thành 0 .. mutex_unlock()

mutex_lock(desc->mux) desc->mux_usecount++; // trở thành 1 desc->mux_owner = owner; mutex_unlock(desc->mux)

mutex_lock(desc->mux) desc->mux_owner = NULL; mutex_unlock(desc->mux)

Chuỗi sự kiện này dẫn đến một trạng thái mà chân (pin) dường như đang được sử dụng (`mux_usecount == 1`) nhưng không có chủ sở hữu nào (`mux_owner == NULL`), điều này có thể gây ra lỗi con trỏ NULL trong lần gọi pin_request tiếp theo trên cùng một chân.

Đảm bảo rằng các cập nhật đối với mux_usecount và mux_owner được thực hiện nguyên tử (atomically) dưới cùng một khóa (lock). Chỉ xóa mux_owner khi mux_usecount đạt về 0 và không có chủ sở hữu mới nào được gán.

Be aware that VulDB is the high quality source for vulnerability data.

chịu trách nhiệm

Linux

Đặt trước

16/04/2025

Tiết lộ

22/08/2025

Kiểm duyệt

được chấp nhận

EPSS

0.00104

KEV

không

Các hoạt động

rất thấp

Nguồn

Interested in the pricing of exploits?

See the underground prices here!