Katalog CVE

CVE-2026-80795

Nieznane
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

W jądrze Linuxa w podsystemie NFC (NCI) wykryto podatność polegającą na zapisie poza granicami tablicy w funkcji nci_target_auto_activated(). Funkcja ta dodaje cel do tablicy o stałym rozmiarze bez sprawdzenia, czy tablica jest pełna, co może prowadzić do zapisu poza przydzielony obszar pamięci (slab out-of-bounds).

Ocena ryzyka

Atakujący może wykorzystać tę podatność do spowodowania awarii systemu (paniki jądra) lub potencjalnie do eskalacji uprawnień, jeśli uda mu się kontrolować dane zapisywane poza tablicą. Wymaga to jednak fizycznego dostępu do urządzenia NFC lub możliwości wysyłania spreparowanych ramek NFC.

Rekomendacja

Zaleca się natychmiastowe zastosowanie poprawki z jądra Linuxa, która dodaje sprawdzenie limitu w funkcji nci_target_auto_activated(), analogicznie do funkcji nci_add_new_target(). Należy zaktualizować system do wersji jądra zawierającej tę poprawkę.

Inne podatności w Linux kernel

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

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().

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS