CVE-2022-49995

In the Linux kernel, the following vulnerability has been resolved: writeback: avoid use-after-free after removing device When a disk is removed, bdi_unregister gets called to stop further writeback and wait for associated delayed work to complete. However, wb_inode_writeback_end() may schedule bandwidth estimation dwork after this has completed, which can result in the timer attempting to access the just freed bdi_writeback. Fix this by checking if the bdi_writeback is alive, similar to when scheduling writeback work. Since this requires wb->work_lock, and wb_inode_writeback_end() may get called from interrupt, switch wb->work_lock to an irqsafe lock.
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:6.0:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.0:rc2:*:*:*:*:*:*

History

14 Nov 2025, 18:11

Type Values Removed Values Added
CWE CWE-416
First Time Linux
Linux linux Kernel
References () https://git.kernel.org/stable/c/9a6c710f3bc10bc9cc23e1c080b53245b7f9d5b7 - () https://git.kernel.org/stable/c/9a6c710f3bc10bc9cc23e1c080b53245b7f9d5b7 - Patch
References () https://git.kernel.org/stable/c/f87904c075515f3e1d8f4a7115869d3b914674fd - () https://git.kernel.org/stable/c/f87904c075515f3e1d8f4a7115869d3b914674fd - Patch
References () https://git.kernel.org/stable/c/f96b9f7c1676923bce871e728bb49c0dfa5013cc - () https://git.kernel.org/stable/c/f96b9f7c1676923bce871e728bb49c0dfa5013cc - Patch
Summary
  • (es) En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: writeback: evitar el Use-After-Free tras retirar un dispositivo. Al retirar un disco, se llama a bdi_unregister para detener la escritura diferida y esperar a que se complete el trabajo retrasado asociado. Sin embargo, wb_inode_writeback_end() puede programar la estimación de ancho de banda dwork después de que esto se haya completado, lo que puede provocar que el temporizador intente acceder al bdi_writeback recién liberado. Para solucionar esto, verifique si bdi_writeback está activo, de forma similar a cuando se programa la escritura diferida. Dado que esto requiere wb->work_lock y wb_inode_writeback_end() puede ser llamado desde una interrupción, cambie wb->work_lock a un bloqueo irqsafe.
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 7.8
CPE cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.0:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.0:rc2:*:*:*:*:*:*

18 Jun 2025, 11:15

Type Values Removed Values Added
New CVE

Information

Published : 2025-06-18 11:15

Updated : 2025-11-14 18:11


NVD link : CVE-2022-49995

Mitre link : CVE-2022-49995

CVE.ORG link : CVE-2022-49995


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-416

Use After Free