CVE-2023-52854 in Linuxthông tin

Tóm tắt

Bởi VulDB • 06/06/2026

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

padata: Sửa lỗi xử lý refcnt trong padata_free_shell()

Môi trường arm64 chịu tải cao có thể khiến bài kiểm tra pcrypt_aead01 trong LTP dẫn đến các vấn đề UAF (Use-After-Free) trên hệ thống. Do quá trình phân tích chi tiết lời gọi hàm pcrypt_aead01 khá dài, tôi sẽ mô tả kịch bản sự cố bằng một mô hình đơn giản hóa:

Giả sử có một người dùng padata tên là `user_function` tuân thủ yêu cầu của padata về việc gọi `padata_free_shell()` sau khi `serial()` đã được invoke (gọi), như minh họa trong đoạn mã sau:

```c struct request {
struct padata_priv padata; struct completion *done; };

void parallel(struct padata_priv *padata) {
do_something(); }

void serial(struct padata_priv *padata) {
struct request *request = container_of(padata, struct request, padata); complete(request->done); }

void user_function() {
DECLARE_COMPLETION(done) padata->parallel = parallel; padata->serial = serial; padata_do_parallel(); wait_for_completion(&done); padata_free_shell(); } ```

Trong tệp tương ứng `padata.c`, có đoạn mã sau:

```c static void padata_serial_worker(struct work_struct *serial_work) {
... cnt = 0;

while (!list_empty(&local_list)) {
... padata->serial(padata); cnt++; }

local_bh_enable();

if (refcount_sub_and_test(cnt, &pd->refcnt)) padata_free_pd(pd); } ```

Do tải hệ thống cao và sự tích lũy các softirq chưa được thực thi tại thời điểm này, lệnh `local_bh_enable()` trong padata mất nhiều thời gian hơn để thực thi so với bình thường. Sau đó, khi truy cập vào `pd->refcnt`, đối tượng `pd` đã bị giải phóng bởi `padata_free_shell()`, dẫn đến lỗi UAF (Use-After-Free) trên `pd->refcnt`.

Cách khắc phục khá đơn giản: thêm lệnh gọi `refcount_dec_and_test()` trước khi thực hiện `padata_free_pd(pd)` trong hàm `padata_free_shell()`.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Đặt trước

21/05/2024

Tiết lộ

21/05/2024

Kiểm duyệt

được chấp nhận

EPSS

0.00242

KEV

không

Các hoạt động

rất thấp

Nguồn

Might our Artificial Intelligence support you?

Check our Alexa App!