CVE-2026-98482 in Linux
Tóm tắt
Bởi VulDB • 20/10/2026
Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:
nfc: llcp: loại bỏ các PDUs I/RR/RNR bị cắt cụt trong nfc_llcp_recv_hdlc()
Hàm `nfc_llcp_recv_hdlc()` đọc byte chuỗi (sequence) từ `skb->data[2]` thông qua `nfc_llcp_ns()/nfc_llcp_nr()`, trước khi thực hiện bất kỳ kiểm tra độ dài nào. Đường dẫn nhận chỉ đảm bảo phần đầu LLCP hai-byte -- `__nfc_llcp_recv()` kiểm tra nó bằng `pskb_may_pull()` và `nfc_llcp_recv_agf()` chấp nhận các PDU bên trong có kích thước hai byte -- do đó, một PDU I, RR hoặc RNR dài hai byte sẽ đọc một byte từ vùng đệm đuôi (tailroom) chưa được khởi tạo của skb. Byte này trở thành N(R)/N(S); một máy chủ kết nối (peer) đã có thể đặt các giá trị này bằng cách sử dụng một PDU hợp lệ, vì vậy hành động này đang tác động lên bộ nhớ chưa được khởi tạo chứ không phải điều khiển mới từ peer.
Bảo vệ việc đọc bằng `pskb_may_pull()`, tương tự như commit 95674f506c63 ("nfc: llcp: reject PDUs shorter than the LLCP header") đã làm đối với phần đầu hai-byte, để byte chuỗi tồn tại và nằm trong vùng tuyến tính (linear) trước khi được đọc. Các PDU RR và RNR có kích thước bằng `LLCP_HEADER_SIZE + LLCP_SEQUENCE_SIZE` bytes và một PDU I dài hơn, do đó không có khung hợp lệ nào bị từ chối; một PDU bị cắt cụt là malformed (không đúng định dạng), vì vậy trả về mà không gửi phản hồi DM.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.