CVE-2026-43203

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.
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:2.6.12:-:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:2.6.12:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:2.6.12:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:2.6.12:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:2.6.12:rc5:*:*:*:*:*:*

History

11 Nov 2026, 20:10

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta: atm: fore200e: corrección de uso después de liberación en tasklets durante la eliminación del dispositivo Cuando el adaptador PCA-200E o SBA-200E está siendo desvinculado, el fore200e es desasignado. Sin embargo, el tx_tasklet o rx_tasklet aún puede estar ejecutándose o pendiente, lo que lleva a un error de uso después de liberación cuando el fore200e ya liberado es accedido de nuevo en fore200e_tx_tasklet() o fore200e_rx_tasklet(). Una de las condiciones de carrera puede ocurrir de la siguiente manera: CPU 0 (cleanup) | CPU 1 (tasklet) fore200e_pca_remove_one() | fore200e_interrupt() fore200e_shutdown() | tasklet_schedule() kfree(fore200e) | fore200e_tx_tasklet() | fore200e -> // UAF Solucione esto asegurándose de que el tx_tasklet o rx_tasklet sea cancelado correctamente antes de que el fore200e sea liberado. Añada tasklet_kill() en fore200e_shutdown() para sincronizar con cualquier tasklet pendiente o en ejecución. Además, dado que fore200e_reset() podría prevenir interrupciones o transferencias de datos adicionales, el tasklet_kill() debería colocarse después de fore200e_reset() para evitar que el tasklet sea reprogramado en fore200e_interrupt(). Finalmente, solo necesita ejecutar tasklet_kill() cuando el estado de fore200e sea mayor o igual a FORE200E_STATE_IRQ, ya que los tasklets no están inicializados en estados anteriores. En resumen, el tasklet_kill() debería colocarse en la rama FORE200E_STATE_IRQ dentro de la estructura switch...case. Este error fue identificado mediante análisis estático.

Information

Published : 2026-05-06 12:16

Updated : 2026-11-11 20:10


NVD link : CVE-2026-43203

Mitre link : CVE-2026-43203

CVE.ORG link : CVE-2026-43203


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-416

Use After Free