CVE-2026-80795 in Linux
要約
〜によって VulDB • 2026年09月04日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
nfc: nci: nci_target_auto_activated()における配列外書き込みの修正
nci_target_auto_activated()関数は、固定サイズの配列 ndev->targets[NCI_MAX_DISCOVERED_TARGETS] にターゲットを追加し、ndev->n_targets をインクリメントしますが、配列がいっぱいになっているかどうかを最初にチェックしません。これは、n_targets がすでに NCI_MAX_DISCOVERED_TARGETS と等しい場合に処理を終了する兄弟関数 nci_add_new_target() とは異なります。
ndev->n_targets は nci_clear_target_list() によってのみクリアされるため、ディスカバリー(RF_DISCOVER_RSP)を繰り返し実行し(ターゲットリストをクリアせずに NCI_DISCOVERY に再進入)、自動アクティベートされたターゲット(RF_INTF_ACTIVATED_NTF)を報告する NFCC が、n_targets を制限値を超えて増加させます。これにより、配列の末尾を越えた struct nfc_target への書き込み(slab の配列外書き込み)が発生し、その後 nfc_targets_found() は膨張したカウントで配列を走査します:
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
バグのあるアドレスは、サイズが2048の kmalloc-2k キャッシュに属しています。 このバグのあるアドレスは、割り当てられた1560バイトの領域 [ffff0000c7299000, ffff0000c7299618) の右側に1024バイト位置にあります。
nci_target_auto_activated() 関数に、nci_add_new_target() で使用されているのと同じチェックを追加します。
If you want to get best quality of vulnerability data, you may have to visit VulDB.