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

mmc: atmel-mci: Fix use-after-free in atmci_remove due to race condition

In atmci_probe, &host->bh_work is bound with atmci_work_func, and
atmci_interrupt, atmci_timeout_timer and atmci_dma_complete can all
queue this work on system_bh_wq.

If we remove the module, atmci_remove makes cleanup and the memory
allocated for host with devm_kzalloc() is released after the remove
callback returns, while the work mentioned above may still be pending
or running. The sequence of operations that may lead to a UAF bug is
as follows:

CPU0 CPU1

| atmci_interrupt
| queue_work(system_bh_wq,
| &host->bh_work)
atmci_remove |
atmci_cleanup_slot(...) |
atmci_writel(host, ATMCI_IDR, ~0UL) |
timer_delete_sync(&host->timer) |
dma_release_channel(host->dma.chan) |
free_irq(platform_get_irq(pdev, 0), host) |
| atmci_work_func
| // use host
// devm resources released after |
// remove returns, host is freed |
| // use host (use-after-free)

Fix it by canceling the work after all the sources that can schedule
it (IRQ handler, timeout timer and DMA completion callback) have been
stopped, and before proceeding with the remaining cleanup in
atmci_remove.
Published: 2026-08-26
Score: n/a
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

A race condition between module removal and pending work in the atmel‑mci driver allows a use‑after‑free. The kernel frees the host structure during module unload while background work may still be scheduled or executing, causing the work function to reference deallocated memory. This bug can crash the kernel or, if the attacker can control the freed memory contents, lead to arbitrary code execution within the kernel’s privilege level. The primary impact is the loss of system stability, potential privilege escalation, and data corruption. The weakness is a classic use‑after‑free vulnerability.

Affected Systems

All Linux kernel versions that include the atmel‑mci driver before the patch commit. The affected package is the Linux kernel itself; no specific distribution versions or kernel releases are listed in the vendor data but any build that compiles the atmel‑mci module could be susceptible.

Risk and Exploitability

The CVE does not list an EPSS score or KEV status, and no CVSS score is provided in the data. The vulnerability requires local kernel access to exploit, which is typically limited to privileged users or systems where the driver can be loaded. This limits the likelihood of remote exploitation but still poses a significant risk for systems that allow local users to load or unload the driver. The exploitation path involves triggering the race by unloading the driver while an interrupt or timer is pending or queued. Because the flaw resides in kernel code, any successful exploitation would provide high privilege and potentially full control of the affected system.

Generated by OpenCVE AI on August 26, 2026 at 16:01 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the system to the latest Linux kernel that contains the atmel‑mci patch or apply the upstream commit “Fix use‑after‑free in atmci_remove” to your kernel source
  • If updating the kernel is not immediately possible, disable or unload the atmel-mci device driver via modprobe -r atmel-mci or by setting the module as unused in the boot configuration
  • Continuously monitor kernel logs for messages related to the MMC driver and verify that no use‑after‑free errors or abnormal crashes occur after the patch or driver disablement

Generated by OpenCVE AI on August 26, 2026 at 16:01 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 26 Aug 2026 16:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Wed, 26 Aug 2026 14:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: mmc: atmel-mci: Fix use-after-free in atmci_remove due to race condition In atmci_probe, &host->bh_work is bound with atmci_work_func, and atmci_interrupt, atmci_timeout_timer and atmci_dma_complete can all queue this work on system_bh_wq. If we remove the module, atmci_remove makes cleanup and the memory allocated for host with devm_kzalloc() is released after the remove callback returns, while the work mentioned above may still be pending or running. The sequence of operations that may lead to a UAF bug is as follows: CPU0 CPU1 | atmci_interrupt | queue_work(system_bh_wq, | &host->bh_work) atmci_remove | atmci_cleanup_slot(...) | atmci_writel(host, ATMCI_IDR, ~0UL) | timer_delete_sync(&host->timer) | dma_release_channel(host->dma.chan) | free_irq(platform_get_irq(pdev, 0), host) | | atmci_work_func | // use host // devm resources released after | // remove returns, host is freed | | // use host (use-after-free) Fix it by canceling the work after all the sources that can schedule it (IRQ handler, timeout timer and DMA completion callback) have been stopped, and before proceeding with the remaining cleanup in atmci_remove.
Title mmc: atmel-mci: Fix use-after-free in atmci_remove due to race condition
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-26T14:37:23.573Z

Reserved: 2026-08-26T14:34:25.767Z

Link: CVE-2026-80556

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-26T15:17:10.253

Modified: 2026-08-26T15:17:10.253

Link: CVE-2026-80556

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-26T17:30:09Z

Weaknesses