CVE-2026-43203 atm: fore200e: fix use-after-free in tasklets during device removal
A use-after-free vulnerability in the Linux kernel ATM fore200e driver allows attackers to execute arbitrary code or escalate privileges during device removal.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2026-43203?
CVE-2026-43203 is a high-severity use after free vulnerability in Linux kernel, published on 6 May 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Official description
In the Linux kernel, the following vulnerability has been resolved:
atm: fore200e: fix use-after-free in tasklets during device removal
When the PCA-200E or SBA-200E adapter is being detached, the fore200e is deallocated. However, the tx_tasklet or rx_tasklet may still be running or pending, leading to use-after-free bug when the already freed fore200e is accessed again in fore200e_tx_tasklet() or fore200e_rx_tasklet().
One of the race conditions can occur as follows:
CPU 0 (cleanup) | CPU 1 (tasklet) fore200e_pca_remove_one() | fore200e_interrupt() fore200e_shutdown() | tasklet_schedule() kfree(fore200e) | fore200e_tx_tasklet() | fore200e-> // UAF
Fix this by ensuring tx_tasklet or rx_tasklet is properly canceled before the fore200e is released. Add tasklet_kill() in fore200e_shutdown() to synchronize with any pending or running tasklets. Moreover, since fore200e_reset() could prevent further interrupts or data transfers, the tasklet_kill() should be placed after fore200e_reset() to prevent the tasklet from being rescheduled in fore200e_interrupt(). Finally, it only needs to do tasklet_kill() when the fore200e state is greater than or equal to FORE200E_STATE_IRQ, since tasklets are uninitialized in earlier states. In a word, the tasklet_kill() should be placed in the FORE200E_STATE_IRQ branch within the switch...case structure.
This bug was identified through static analysis.
Weakness: CWE-416
Which versions are affected by CVE-2026-43203?
It affects 1 product.
Products include Linux kernel.
How do I fix CVE-2026-43203?
Apply the vendor's patch.
Upgrade to the fixed version. These bugs are found with fuzzing and sanitisers and avoided by memory-safe languages. More about Use after free.
Is CVE-2026-43203 being exploited?
There is no known exploitation of CVE-2026-43203 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as BELL-CVE-2026-43203, DEBIAN-CVE-2026-43203, GHSA-864f-qffm-34wc, ROOT-OS-DEBIAN-11-CVE-2026-43203, ROOT-OS-UBUNTU-2204-CVE-2026-43203, ROOT-OS-UBUNTU-2404-CVE-2026-43203 and 1 more.