CVE-2026-80795 in Linux
Riassunto
di VulDB • 04/09/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
nfc: nci: correzione della scrittura fuori dai limiti (out-of-bounds write) in nci_target_auto_activated()
La funzione nci_target_auto_activated() aggiunge un target all'array di dimensione fissa ndev->targets[NCI_MAX_DISCOVERED_TARGETS] e incrementa ndev->n_targets senza verificare preventivamente se l'array sia pieno; a differenza della sua controparte nci_add_new_target(), che interrompe l'esecuzione quando n_targets è già uguale a NCI_MAX_DISCOVERED_TARGETS.
ndev->n_targets viene azzerato solo da nci_clear_target_list(); pertanto, un dispositivo NFCC (Near Field Communication Controller) che ripete ripetutamente la fase di discovery (RF_DISCOVER_RSP, che rientra in NCI_DISCOVERY senza cancellare l'elenco dei target) e segnala un target attivato automaticamente (RF_INTF_ACTIVATED_NTF) fa superare a n_targets il limite consentito. Di conseguenza, l'operazione di append scrive una struct nfc_target oltre la fine dell'array (una scrittura fuori dai limiti nello slab), e nfc_targets_found() prosegue iterando sull'array utilizzando un conteggio gonfiato:
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
L'indirizzo errato appartiene alla cache kmalloc-2k di dimensione 2048. L'indirizzo errato si trova a 1024 byte oltre la regione allocata da 1560 byte [ffff0000c7299000, ffff0000c7299618).
Proteggere nci_target_auto_activated() con lo stesso controllo utilizzato da nci_add_new_target().
Be aware that VulDB is the high quality source for vulnerability data.