CVE-2026-23454

net: mana: fix use-after-free in mana_hwc_destroy_channel() by reordering teardown

State
Published
Severity
Not scored
Published
Apr 3, 2026
Updated
Oct 15, 2026
Reserved
Jan 13, 2026

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

net: mana: fix use-after-free in mana_hwc_destroy_channel() by reordering teardown

A potential race condition exists in mana_hwc_destroy_channel() where hwc->caller_ctx is freed before the HWC's Completion Queue (CQ) and Event Queue (EQ) are destroyed. This allows an in-flight CQ interrupt handler to dereference freed memory, leading to a use-after-free or NULL pointer dereference in mana_hwc_handle_resp().

mana_smc_teardown_hwc() signals the hardware to stop but does not synchronize against IRQ handlers already executing on other CPUs. The IRQ synchronization only happens in mana_hwc_destroy_cq() via mana_gd_destroy_eq() -> mana_gd_deregister_irq(). Since this runs after kfree(hwc->caller_ctx), a concurrent mana_hwc_rx_event_handler() can dereference freed caller_ctx (and rxq->msg_buf) in mana_hwc_handle_resp().

Fix this by reordering teardown to reverse-of-creation order: destroy the TX/RX work queues and CQ/EQ before freeing hwc->caller_ctx. This ensures all in-flight interrupt handlers complete before the memory they access is freed.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • ca9c54d2d6a5ab2430c4eda364c77125d62e5e0f to before b88edf12fc3779521ae5f6f1584153b15f7da6dfAffected
  • ca9c54d2d6a5ab2430c4eda364c77125d62e5e0f to before e23bf444512cb85d76012080a76cd1f9e967448eAffected
  • ca9c54d2d6a5ab2430c4eda364c77125d62e5e0f to before 249e905571583a434d4ea8d6f92ccc0eef337115Affected
  • ca9c54d2d6a5ab2430c4eda364c77125d62e5e0f to before 2b001901f689021acd7bf2dceed74a1bdcaaa1f9Affected
  • ca9c54d2d6a5ab2430c4eda364c77125d62e5e0f to before afdb1533eb9c05432aeb793a7280fa827c502f5cAffected
  • ca9c54d2d6a5ab2430c4eda364c77125d62e5e0f to before 05d345719d85b927cba74afac4d5322de3aa4256Affected
  • ca9c54d2d6a5ab2430c4eda364c77125d62e5e0f to before fa103fc8f56954a60699a29215cb713448a39e87Affected
LinuxLinux
  • 5.13Affected
  • before 5.13Not affected
  • 5.15.203 through 5.15.*Not affected
  • 6.1.167 through 6.1.*Not affected
  • 6.6.130 through 6.6.*Not affected
  • 6.12.78 through 6.12.*Not affected
  • 6.18.20 through 6.18.*Not affected
  • 6.19.10 through 6.19.*Not affected
  • 7.0 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.