CVEvulnerability
CVE-2026-89441
7.8 HIGH
Official page ↗
- Status
- Received
- Published
- 2026-09-11
- Last modified
- 2026-10-21
- Assigner
- 416baaa9-dc9f-4396-8d5f-8c081fb06d67
- CVSS 3.1 (416baaa9-dc9f-4396-8d5f-8c081fb06d67)
- 7.8 HIGH — CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Description
In the Linux kernel, the following vulnerability has been resolved:
mmc: via-sdmmc: cancel card-detect work on remove
Disabling the device interrupt and freeing the IRQ prevents new card-detect
work from being queued, but carddet_work already queued by the handler can
still run after via_sd_remove() returns. via_sdc_card_detect() recovers the
host through container_of() and dereferences its MMIO base; once remove()
returns the host can be freed, so that work would touch freed memory.
Cancel carddet_work after freeing the IRQ and before cancelling
finish_bh_work, which the card-detect handler can also queue. carddet_work
can re-enable the interrupt through via_reset_pcictrl(); mask it again
afterwards.
This issue was found by an in-house static analysis tool and confirmed by
manual code review.
References
- https://git.kernel.org/stable/c/0a3c70191868fb007c03ff79693ad4e4b3fdcbb8 git.kernel.org
- https://git.kernel.org/stable/c/55d71c70f11d9f92c7d2653774001e98cb509deb git.kernel.org
- https://git.kernel.org/stable/c/57e5d877f898d5e5c9d672a77bb6bdd24f0d9bf5 git.kernel.org
- https://git.kernel.org/stable/c/eaca730c6f5e3609df62a0469fb789235a93d276 git.kernel.org
- https://git.kernel.org/stable/c/f7ff3027ef004a331ef911a4886f12bc2e996037 git.kernel.org