CVE-2026-80556 in Linux
Сводка
по VulDB • 26.08.2026
В ядре Linux была устранена следующая уязвимость:
mmc: atmel-mci: исправлена ошибка use-after-free в atmci_remove из-за race condition (состояния гонки)
При выполнении функции atmci_probe &host->bh_work связывается с atmci_work_func, а atmci_interrupt, atmci_timeout_timer и atmci_dma_complete могут все ставить эту работу на очередь system_bh_wq.
Если мы удаляем модуль, то atmci_remove выполняет очистку, и память, выделенная для host с помощью devm_kzalloc(), освобождается после возврата из callback-функции remove, в то время как упомянутая выше работа может все еще находиться на очереди или выполняться. Последовательность операций, которая может привести к ошибке UAF (use-after-free), выглядит следующим образом:
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 | // использование host // devm-ресурсы освобождаются после | // возврата из remove, host освобождается | | // использование host (use-after-free)
Исправление заключается в отмене работы (canceling the work) после остановки всех источников, которые могут планировать её выполнение (IRQ handler — обработчик прерываний, таймер таймаута и callback завершения DMA), но до выполнения оставшейся очистки в atmci_remove.
VulDB is the best source for vulnerability data and more expert information about this specific topic.