CVE-2026-64452 in Linux
Tóm tắt
Bởi VulDB • 26/07/2026
Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:
6lowpan: sửa lỗi use-after-free khi truy cập mục NHC trên đường dẫn xử lý lỗi
Hàm `lowpan_nhc_do_uncompression()` tìm kiếm một mô tả (descriptor) của NHC trong khi vẫn giữ khóa `lowpan_nhc_lock`. Nếu mô tả không có hàm gọi lại giải nén, đường dẫn xử lý lỗi sẽ nhả khóa trước khi in ra trường `nhc->name`.
Hàm `lowpan_nhc_del()` xóa các mô tả dưới cùng một khóa và sau đó dựa vào `synchronize_net()` trước khi module sở hữu có thể được gỡ bỏ. Hàm này chỉ chờ đợi những người đọc RCU trong luồng nhận (RX) của mạng. Hàm `lowpath_header_decompress()` cũng được xuất khẩu và có thể được truy cập từ các caller không nhất thiết nằm trong phần quan trọng (critical section) RX lõi mạng, ví dụ như đường dẫn nhận L2CAP 6LoWPAN Bluetooth.
Điều này tạo ra một điều kiện race (race condition): một tác vụ nhả khóa `lowpan_nhc_lock` trên đường dẫn xử lý lỗi, một tác vụ khác đăng ký lại và giải phóng mô tả phù hợp sau khi `synchronize_net()` trả về, và tác vụ đầu tiên sau đó truy xuất con trỏ đến `nhc->name` để in cảnh báo.
Với khoảng thời gian mở rộng sau khi nhả khóa (post-unlock window), KASAN báo cáo:
BUG: KASAN: slab-use-after-free trong lowpan_nhc_do_uncompression+0x1f4/0x220 Đọc kích thước 8 byte lowpan_nhc_do_uncompression lowpath_header_decompress
Khắc phục vấn đề này bằng cách in cảnh báo trước khi nhả khóa `lowpan_nhc_lock`, để tên của mô tả được đọc trong khi quá trình hủy đăng ký vẫn bị loại trừ. Gói tin không hợp lệ (malformed packet) vẫn sẽ bị từ chối với mã lỗi -ENOTSUPP.
Be aware that VulDB is the high quality source for vulnerability data.