Skip to content
CVE PROGRAM SOURCE RECORDUnscored

CVE-2026-80802

nfc: fdp: bound the device-reported read length and fix an skb leak

Description

In the Linux kernel, the following vulnerability has been resolved: nfc: fdp: bound the device-reported read length and fix an skb leak fdp_nci_i2c_read() takes the next packet length from two device-supplied bytes and never validates it. The value is a u16 used as the i2c_master_recv() count into a 261-byte on-stack buffer: a malicious, counterfeit or malfunctioning controller (or an i2c bus interposer) can drive it far past the buffer for a stack out-of-bounds write that clobbers the canary and return address, or below the minimum frame size (directly, or by truncating the computed sum) so the header/LRC strip and the next length read run past a short receive. Reject a length outside [FDP_NCI_I2C_MIN_PAYLOAD, FDP_NCI_I2C_MAX_PAYLOAD], as a corrupted packet already is, and force resynchronization. The same loop allocates one data skb per iteration and assumes a length packet followed by a data packet; a device that sends two data packets in one call leaks the first skb when the second allocation overwrites it. Free a previously allocated skb before allocating the next.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • a06347c04c13e380afce0c9816df51f00b83faf1 to < d9498ab9a78cb63d78dbe4f221d8cc6c91f285eeaffected
  • a06347c04c13e380afce0c9816df51f00b83faf1 to < 1fc32327b927a6e2cde086f82575c29880844228affected
  • a06347c04c13e380afce0c9816df51f00b83faf1 to < 8d2c243b79854628ff076c38748c020042f02f57affected
  • a06347c04c13e380afce0c9816df51f00b83faf1 to < fc3c2bd5b1ec6c7cbc8a50e32d9bcec114f25463affected
  • a06347c04c13e380afce0c9816df51f00b83faf1 to < 0d723090645b82c1cb27cfd7ebf81f0e7c96bcaeaffected
  • a06347c04c13e380afce0c9816df51f00b83faf1 to < db7e464b350969c6ea8340de00d9796e5fd5123baffected
  • a06347c04c13e380afce0c9816df51f00b83faf1 to < e5eec121f2c3bc4c7022613bedd9121a8aa4c949affected
  • a06347c04c13e380afce0c9816df51f00b83faf1 to < 1aa3fc769b0c45bd19f8dab1697084c2b3f6d706affected
  • a06347c04c13e380afce0c9816df51f00b83faf1 to < 7ad21dcfeb5181af0c3ee2608808c0c0a5283aa1affected

Linux Linux

Default version status: affected

  • 4.4affected
  • 0 to < 4.4unaffected
  • 5.10.267 to ≤ 5.10.*unaffected
  • 5.15.218 to ≤ 5.15.*unaffected
  • 6.1.185 to ≤ 6.1.*unaffected
  • 6.6.154 to ≤ 6.6.*unaffected
  • 6.12.106 to ≤ 6.12.*unaffected
  • 6.18.47 to ≤ 6.18.*unaffected
  • 7.1.11 to ≤ 7.1.*unaffected
  • 7.2.1 to ≤ 7.2.*unaffected
  • 7.3 to ≤ *unaffected

References