CVE Catalog

CVE-2026-80795

Unknown
Published: Translated: NVD NIST

Summary

In the Linux kernel's NFC (NCI) subsystem, a vulnerability was found involving an out-of-bounds write in the nci_target_auto_activated() function. This function adds a target to a fixed-size array without checking if the array is full, which can lead to a write beyond the allocated memory region (slab out-of-bounds).

Risk Assessment

An attacker could exploit this vulnerability to cause a system crash (kernel panic) or potentially escalate privileges if they can control the data written out of bounds. However, this requires physical access to an NFC device or the ability to send crafted NFC frames.

Recommendation

It is recommended to immediately apply the Linux kernel patch that adds a limit check in nci_target_auto_activated(), similar to the check in nci_add_new_target(). Update the system to a kernel version containing this fix.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: nfc: nci: fix out-of-bounds write in nci_target_auto_activated() nci_target_auto_activated() appends a target to the fixed-size array ndev->targets[NCI_MAX_DISCOVERED_TARGETS] and increments ndev->n_targets without first checking the array is full; unlike its sibling nci_add_new_target(), which bails out when n_targets already equals NCI_MAX_DISCOVERED_TARGETS. ndev->n_targets is only cleared by nci_clear_target_list(), so an NFCC that repeatedly re-runs discovery (RF_DISCOVER_RSP, which re-enters NCI_DISCOVERY without clearing the target list) and reports an auto-activated target (RF_INTF_ACTIVATED_NTF) drives n_targets past the limit. The append then writes a struct nfc_target past the end of the array (a slab out-of-bounds write), and nfc_targets_found() goes on to walk the array with the inflated count: 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 [nci] process_one_work+0x2dc/0x500 worker_thread+0x240/0x460 kthread+0x1c0/0x1d0 ret_from_fork+0x10/0x20 The buggy address belongs to the cache kmalloc-2k of size 2048 The buggy address is located 1024 bytes to the right of allocated 1560-byte region [ffff0000c7299000, ffff0000c7299618) Guard nci_target_auto_activated() with the same check used by nci_add_new_target().

Vulnerability data from NVD (NIST) · CISA KEV · EPSS