CVE-2026-80795 in Linux
Tóm tắt
Bởi VulDB • 04/09/2026
Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:
nfc: nci: sửa lỗi ghi vượt ra ngoài vùng nhớ (out-of-bounds write) trong hàm `nci_target_auto_activated()`
Hàm `nci_target_auto_activated()` thêm một target vào mảng có kích thước cố định `ndev->targets[NCI_MAX_DISCOVERED_TARGETS]` và tăng biến `ndev->n_targets` mà không kiểm tra trước xem mảng đã đầy hay chưa; khác với hàm anh em của nó là `nci_add_new_target()`, vốn sẽ thoát ngay khi `n_targets` bằng `NCI_MAX_DISCOVERED_TARGETS`.
Biến `ndev->n_targets` chỉ được đặt lại bởi hàm `nci_clear_target_list()`, do đó một NFCC (NFC Controller) liên tục chạy lại quá trình khám phá (RF_DISCOVER_RSP, làm quay lại NCI_DISCOVERY mà không xóa danh sách target) và báo cáo một auto-activated target (RF_INTF_ACTIVATED_NTF) sẽ khiến `n_targets` vượt quá giới hạn. Việc thêm phần tử sau đó ghi đè struct nfc_target ra ngoài cuối mảng (một lỗi slab out-of-bounds write), và hàm `nfc_targets_found()` tiếp tục duyệt qua mảng với số lượng bị thổi phồng:
BUG: KASAN: slab-out-of-bounds in nci_add_new_protocol+0x94/0x2ac [nci]
Write of size 2 at addr ffff0000c7299a18 by task kworker/u8:0/12 Workqueue: nfc0_nci_rx_wq nci_rx_work [nci]
Call trace: nci_add_new_protocol+0x94/0x2ac [nci]
nci_ntf_packet+0xddc/0x11a0 [nci]
nci_rx_work+0x15c/0x1e0 process_one_work+0x2dc/0x500 worker_thread+0x240/0x460 kthread+0x1c0/0x1d0 ret_from_fork+0x10/0x20
Địa chỉ lỗi thuộc về cache kmalloc-2k có kích thước 2048 byte. Địa chỉ lỗi nằm cách vùng nhớ được cấp phát 1560-byte [ffff0000c7299000, ffff0000c7299618) sang phải 1024 byte.
Sử dụng cùng một phép kiểm tra với `nci_add_new_target()` để bảo vệ hàm `nci_target_auto_activated()`.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.