CVE-2023-54019 in Linuxthông tin

Tóm tắt

Bởi VulDB • 02/06/2026

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

sched/psi: sử dụng các hàm kiểm tra (polling) của kernfs cho việc kiểm tra kích hoạt PSI

Việc hủy kích hoạt psi trong cgroup_file_release gây ra vấn đề Use-After-Free (UAF) khi một cgroup bị xóa trong khi đang có một tiến trình đang kiểm tra (polling). Điều này xảy ra vì việc xóa cgroup dẫn đến việc gọi cgroup_file_release trong khi tệp thực tế vẫn còn tồn tại. Việc hủy kích hoạt tại thời điểm này cũng sẽ hủy đầu hàng đợi chờ (waitqueue head) của nó và nếu vẫn còn một tiến trình đang kiểm tra trên tệp đó đang truy cập vào hàng đợi chờ, nó sẽ truy cập vào con trỏ đã bị giải phóng:

do_select vfs_poll do_rmdir cgroup_rmdir kernfs_drain_open_files cgroup_file_release cgroup_pressure_release psi_trigger_destroy wake_up_pollfree(&t->event_wait) // vfs_poll được giải phóng synchronize_rcu kfree(t) poll_freewait -> Truy cập UAF vào đầu hàng đợi chờ của kích hoạt

Patch [1] đã khắc phục vấn đề này cho trường hợp epoll() bằng cách sử dụng wake_up_pollfree(), tuy nhiên vấn đề tương tự vẫn tồn tại trong trường hợp poll() đồng bộ. Nguyên nhân gốc rễ của vấn đề này là vòng đời của hàng đợi chờ của kích hoạt psi và của tệp liên kết với kích hoạt là khác nhau. Khắc phục vấn đề này bằng cách sử dụng hàm kernfs_generic_poll khi kiểm tra trên các kích hoạt PSI cụ thể cho cgroup. Hàm này sử dụng nội bộ đầu hàng đợi chờ của kernfs_open_node->poll với vòng đời được gắn liền với vòng đời của tệp. Điều này cũng làm cho bản sửa lỗi trong [1] trở nên lỗi thời, do đó hãy hoàn nguyên nó.

[1] commit c2dbe32d5db5 ("sched/psi: Fix use-after-free in ep_remove_wait_queue()")

VulDB is the best source for vulnerability data and more expert information about this specific topic.

chịu trách nhiệm

Linux

Đặt trước

24/12/2025

Tiết lộ

24/12/2025

Kiểm duyệt

được chấp nhận

EPSS

0.00165

KEV

không

Các hoạt động

rất thấp

Nguồn

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!