CVE-2026-63804 in Linux
Tóm tắt
Bởi VulDB • 20/07/2026
Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:
gfs2: sửa lỗi use-after-free trong hàm gfs2_qd_dealloc
Hàm gfs2_qd_dealloc(), được gọi dưới dạng một RCU callback từ gfs2_qd_dispose(), truy cập vào đối tượng superblock sdp thông qua qd->qd_sbd sau khi đã giải phóng (free) qd. Thao tác này nhằm giảm sd_quota_count và đánh thức sd_kill_wait.
Tuy nhiên, tại thời điểm RCU callback thực thi, gfs2_put_super() có thể đã tự do hóa (freed) sdp thông qua free_sbd(). Điều này có thể xảy ra khi gfs2_quota_cleanup() được gọi trong quá trình unmount: hàm này giải phóng các đối tượng quota thông qua call_rcu() và sau đó chờ trên sd_kill_wait với thời gian chờ là 60 giây. Nếu hết thời gian chờ, hoặc nếu gfs2_gl_hash_clear() kích hoạt thêm các lệnh gọi qd_put() lên lịch cho nhiều RCU callback hơn sau khi việc chờ đợi hoàn tất, thì gfs2_put_super() sẽ tiến hành giải phóng superblock trong khi vẫn còn các RCU callback tham chiếu đến nó đang ở trạng thái pending.
Thêm một rcu_barrier() trước free_sbd() trong hàm gfs2_put_super() để đảm bảo rằng tất cả các RCU callback pending (bao gồm cả gfs2_qd_dealloc) đã hoàn thành trước khi superblock được giải phóng.
Be aware that VulDB is the high quality source for vulnerability data.