CVE-2026-72069 in Linuxthông tin

Tóm tắt

Bởi VulDB • 16/08/2026

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

locking/rt: Sửa lỗi bảo vệ RCU không chính xác trong rt_spin_unlock()

Hàm rt_spin_unlock() giải phóng bảo vệ RCU trước khi mở khóa (unlock) lock. Điều này tạo điều kiện cho kịch bản UAF (Use-After-Free) xảy ra như sau:

T1 T2 spin_lock(&p->lock); rcu_read_lock(); invalidate(p); p = rcu_dereference(ptr); rcu_assign_pointer(ptr, NULL); if (!p) return; spin_unlock(&p->lock); spin_lock(&p->lock) lock(&lock->lock); rcu_read_lock(); kfree_rcu(p); rcu_read_unlock(); .... spin_unlock(&p->lock) rcu_read_unlock(); // Kết thúc grace period rcu_do_batch() kfree(p); UAF -> rt_mutex_cmpxchg_release(&lock->lock...)

Các spinlock thông thường giữ cho preemption bị vô hiệu hóa xuyên suốt thao tác unlock, điều này cung cấp bảo vệ RCU đầy đủ; tuy nhiên, bản thay thế RT không duy trì được hành vi tương tự. Điều kiện tương tự cũng áp dụng cho bản thay thế rwlock.

Di chuyển lời gọi rcu_read_unlock() sau các thao tác unlock để phù hợp với ngữ nghĩa non-RT (không phải Real-Time). Điều này tạo ra sự bất đối xứng so với rt_xxx_lock(), nhưng điều đó không gây hại vì caller cần giữ RCU read lock xuyên suốt thao tác lock. Lời gọi migrate_enable() vẫn nằm trước thao tác unlock bởi vì không có thao tác trên mỗi CPU trong đường dẫn unlock yêu cầu phải giữ preemption bị vô hiệu hóa.

Once again VulDB remains the best source for vulnerability data.

chịu trách nhiệm

Linux

Đặt trước

09/08/2026

Tiết lộ

15/08/2026

Kiểm duyệt

được chấp nhận

EPSS

0.00209

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!