CVE-2026-74687: watchdog: at91sam9_wdt: prevent timer rearm during teardown
Greg Kroah-Hartman <[email protected]>
| Newsgroups | org.kernel.vger.linux-cve-announce |
|---|---|
| Message-ID | <2026082233-CVE-2026-74687-b615@gregkh> |
From: Greg Kroah-Hartman <[email protected]> Description =========== In the Linux kernel, the following vulnerability has been resolved: watchdog: at91sam9_wdt: prevent timer rearm during teardown at91_ping() rearms the watchdog timer from its callback. timer_delete() neither waits for a running callback nor prevents it from rearming the timer, so probe failure or driver removal can leave the timer accessing the devm-allocated at91wdt after it has been freed. Use timer_shutdown_sync() on both teardown paths. It waits for a running callback and rejects any attempt by the callback to rearm the timer. The Linux kernel CVE team has assigned CVE-2026-74687 to this issue. Affected and fixed versions =========================== Issue introduced in 3.14 with commit 5161b31dc39a6d6dadc95f298de48a725b73ada8 and fixed in 6.18.45 with commit 29fe74c9aa69d78c1c6a3930f1d9fc5db71a6eed Issue introduced in 3.14 with commit 5161b31dc39a6d6dadc95f298de48a725b73ada8 and fixed in 7.1.9 with commit b7949b0a7d998013b7ec8617a0ef5b07cca80be4 Issue introduced in 3.14 with commit 5161b31dc39a6d6dadc95f298de48a725b73ada8 and fixed in 7.2 with commit 8444d66aa6b6e7fe0a26fa1a00a11cb4d0523783 Please see https://www.kernel.org for a full list of currently supported kernel versions by the kernel community. Unaffected versions might change over time as fixes are backported to older supported kernel versions. The official CVE entry at https://cve.org/CVERecord/?id=CVE-2026-74687 will be updated if fixes are backported, please check that for the most up to date information about this issue. Affected files ============== The file(s) affected by this issue are: drivers/watchdog/at91sam9_wdt.c Mitigation ========== The Linux kernel CVE team recommends that you update to the latest stable kernel version for this, and many other bugfixes. Individual changes are never tested alone, but rather are part of a larger kernel release. Cherry-picking individual commits is not recommended or supported by the Linux kernel community at all. If however, updating to the latest release is impossible, the individual changes to resolve this issue can be found at these commits: https://git.kernel.org/stable/c/29fe74c9aa69d78c1c6a3930f1d9fc5db71a6eed https://git.kernel.org/stable/c/b7949b0a7d998013b7ec8617a0ef5b07cca80be4 https://git.kernel.org/stable/c/8444d66aa6b6e7fe0a26fa1a00a11cb4d0523783