Skip to content
CVE PROGRAM SOURCE RECORD8.4 High

CVE-2026-72489

staging: nvec: fix use-after-free in nvec_rx_completed()

Description

In the Linux kernel, the following vulnerability has been resolved: staging: nvec: fix use-after-free in nvec_rx_completed() In nvec_rx_completed(), when an incomplete RX transfer is detected, nvec_msg_free() is called to return the message back to the pool by clearing its 'used' atomic flag. Immediately after this, the code accesses nvec->rx->data[0] to check the message type. Since nvec_msg_free() marks the pool slot as available via atomic_set(), any concurrent or subsequent call to nvec_msg_alloc() could claim that same slot and overwrite its data[] array. Reading nvec->rx->data[0] after freeing the message is therefore a use-after-free. Fix this by saving the message type byte before calling nvec_msg_free(), then using the saved value for the battery quirk check.

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

  • d6bdcf2e1019351cbc176e963b7756766bdd8721 to < 6b2ea886ebdae44a2394029844a4e78f58e1587daffected
  • d6bdcf2e1019351cbc176e963b7756766bdd8721 to < a37625c7b688fcf68a54263528eccbabfd7fa17aaffected
  • d6bdcf2e1019351cbc176e963b7756766bdd8721 to < 9f7fe4165a1f1014bdadc8e744c0fd3c2d8c0b89affected
  • d6bdcf2e1019351cbc176e963b7756766bdd8721 to < 08626fcfe12308ca3f8b22c538ba7dee0b2dce7aaffected
  • d6bdcf2e1019351cbc176e963b7756766bdd8721 to < f19a5bc059051143c489dd6f79a0f9c3bfd13aeaaffected
  • d6bdcf2e1019351cbc176e963b7756766bdd8721 to < bb3d592c7d6c4ec8ac6640c690ca13298e7e8e90affected
  • d6bdcf2e1019351cbc176e963b7756766bdd8721 to < 5de04caa46b635e180cecbd164e333eca535db94affected
  • d6bdcf2e1019351cbc176e963b7756766bdd8721 to < 26813881181deb3a32fbb59eadb2599cbe8423f6affected

Linux Linux

Default version status: affected

  • 3.2affected
  • 0 to < 3.2unaffected
  • 5.10.261 to ≤ 5.10.*unaffected
  • 5.15.212 to ≤ 5.15.*unaffected
  • 6.1.178 to ≤ 6.1.*unaffected
  • 6.6.145 to ≤ 6.6.*unaffected
  • 6.12.97 to ≤ 6.12.*unaffected
  • 6.18.40 to ≤ 6.18.*unaffected
  • 7.1.5 to ≤ 7.1.*unaffected
  • 7.2 to ≤ *unaffected

References