CVE-2026-80795

nfc: nci: fix out-of-bounds write in nci_target_auto_activated()

State
Published
Severity
Not scored
Published
Sep 4, 2026
Updated
Oct 19, 2026
Reserved
Aug 26, 2026

Read the record on cve.org

Description

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

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 019c4fbaa790e2b3f11dab0c8b7d9896d77db3e5 to before 0dc59de0075f88404a0f4a2b5233104ef459fbb2Affected
  • 019c4fbaa790e2b3f11dab0c8b7d9896d77db3e5 to before 94530ffabfca57e9bff1d207106010014cc84032Affected
  • 019c4fbaa790e2b3f11dab0c8b7d9896d77db3e5 to before afd8605fb43becb892311102844955c3b127fc7eAffected
  • 019c4fbaa790e2b3f11dab0c8b7d9896d77db3e5 to before 24761d3a5f692df5f7d848caeabcb2afd10917aaAffected
  • 019c4fbaa790e2b3f11dab0c8b7d9896d77db3e5 to before 50e87e1c0e18d791dcd7dccf30f9a2f3e2cf3951Affected
  • 019c4fbaa790e2b3f11dab0c8b7d9896d77db3e5 to before 2f08dbce3b37624ec6b424d759336a99586170ecAffected
  • 019c4fbaa790e2b3f11dab0c8b7d9896d77db3e5 to before d7083f41c21b30582e91b2e6de4d54dce74f6f9cAffected
  • 019c4fbaa790e2b3f11dab0c8b7d9896d77db3e5 to before 129032c0616d83a5e3e304f6ebf88f14ba01e5f7Affected
  • 019c4fbaa790e2b3f11dab0c8b7d9896d77db3e5 to before ac200079db50af81e6b04d058b33ec92901d8eddAffected
LinuxLinux
  • 3.4Affected
  • before 3.4Not affected
  • 5.10.267 through 5.10.*Not affected
  • 5.15.218 through 5.15.*Not affected
  • 6.1.185 through 6.1.*Not affected
  • 6.6.154 through 6.6.*Not affected
  • 6.12.106 through 6.12.*Not affected
  • 6.18.47 through 6.18.*Not affected
  • 7.1.11 through 7.1.*Not affected
  • 7.2.1 through 7.2.*Not affected
  • 7.3 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.