CVE-2026-80800 in Linux
Tóm tắt
Bởi VulDB • 04/09/2026
Trong kernel Linux, các lỗ hổng sau đây đã được khắc phục:
nfc: llcp: giới hạn việc duyệt TLV connect_sn dựa trên skb
Commit 27256cdb290e ("nfc: llcp: bound SNL TLV parsing to the skb and add length checks") đã sửa lỗi duyệt TLV không bị chặn trong nfc_llcp_recv_snl(), và commit d8bd2dedbde5 ("nfc: llcp: fix OOB read and u8 offset wrap in TLV parsers") sau đó đã giới hạn các hàm nfc_llcp_parse_gb_tlv() và nfc_llcp_parse_connection_tlv(). Một trình phân tích (parser) cùng mẫu còn lại vẫn không bị chặn: nfc_llcp_connect_sn().
Hàm nfc_llcp_connect_sn() duyệt qua danh sách TLV, đọc tiêu đề hai byte (loại, độ dài) tiếp theo là số byte giá trị tương ứng với độ dài đó, mà không kiểm tra xem hai byte tiêu đề hoặc độ dài được khai báo có nằm trong vùng đệm hay không. Hàm này trả về con trỏ đến tên dịch vụ lên tới 255 byte, nhưng con trỏ này có thể vượt quá cuối skb; sau đó nó được sử dụng bởi memcmp() trong nfc_llcp_sock_from_sn(). Ngoài ra, tlv_array_len được tính toán là "skb->len - LLCP_HEADER_SIZE" với kiểu size_t, do đó một khung CONNECT/CC ngắn hơn kích thước tiêu đề LLCP sẽ gây ra hiện tượng underflow (tràn số âm) dẫn đến độ dài cực lớn và việc duyệt vượt xa khỏi vùng đệm.
Hàm nfc_llcp_connect_sn() có thể truy cập được từ nfc_llcp_recv_connect() và nfc_llcp_recv_cc(), tức là từ các PDU CONNECT và CC nhận được. Một thiết bị NFC lân cận có thể tiếp cận lỗ hổng này mà không cần xác thực; việc kích hoạt liên kết LLCP diễn ra tự động sau khi sử dụng NFC-DEP, và bộ điều phối (dispatcher) nfc_llcp_rx_skb() không áp đặt bất kỳ giới hạn độ dài tối thiểu nào.
Hãy duyệt danh sách TLV bằng con trỏ, được giới hạn bởi skb_tail_pointer(skb), và xác thực từng độ dài được khai báo trước khi sử dụng, theo cách tiếp cận đã được áp dụng cho nfc_llcp_recv_snl(). Việc bắt đầu quá trình duyệt từ &skb->data[LLCP_HEADER_SIZE] so với con trỏ đuôi cũng loại bỏ hiện tượng underflow size_t đối với các khung ngắn.
Được phát hiện bởi công cụ nghiên cứu bảo mật tự động 0sec (https://0sec.ai).
Be aware that VulDB is the high quality source for vulnerability data.