CVE-2026-31715

In the Linux kernel, the following vulnerability has been resolved: f2fs: fix UAF caused by decrementing sbi->nr_pages[] in f2fs_write_end_io() The xfstests case "generic/107" and syzbot have both reported a NULL pointer dereference. The concurrent scenario that triggers the panic is as follows: F2FS_WB_CP_DATA write callback umount - f2fs_write_checkpoint - f2fs_wait_on_all_pages(sbi, F2FS_WB_CP_DATA) - blk_mq_end_request - bio_endio - f2fs_write_end_io : dec_page_count(sbi, F2FS_WB_CP_DATA) : wake_up(&sbi->cp_wait) - kill_f2fs_super - kill_block_super - f2fs_put_super : iput(sbi->node_inode) : sbi->node_inode = NULL : f2fs_in_warm_node_list - is_node_folio // sbi->node_inode is NULL and panic The root cause is that f2fs_put_super() calls iput(sbi->node_inode) and sets sbi->node_inode to NULL after sbi->nr_pages[F2FS_WB_CP_DATA] is decremented to zero. As a result, f2fs_in_warm_node_list() may dereference a NULL node_inode when checking whether a folio belongs to the node inode, leading to a panic. This patch fixes the issue by calling f2fs_in_warm_node_list() before decrementing sbi->nr_pages[F2FS_WB_CP_DATA], thus preventing the use-after-free condition.
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:7.1:rc1:*:*:*:*:*:*

History

11 Nov 2026, 21:10

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta: f2fs: corrige UAF causada por la disminución de sbi -> nr_pages[] en f2fs_write_end_io() El caso de xfstests ’generic/107’ y syzbot han reportado ambos una desreferencia de puntero NULL. El escenario concurrente que desencadena el pánico es el siguiente: F2FS_WB_CP_DATA write callback desmontar - f2fs_write_checkpoint - f2fs_wait_on_all_pages(sbi, F2FS_WB_CP_DATA) - blk_mq_end_request - bio_endio - f2fs_write_end_io : dec_page_count(sbi, F2FS_WB_CP_DATA) : wake_up(&sbi -> cp_wait) - kill_f2fs_super - kill_block_super - f2fs_put_super : iput(sbi -> node_inode) : sbi -> node_inode = NULL : f2fs_in_warm_node_list - is_node_folio // sbi -> node_inode es NULL y pánico La causa raíz es que f2fs_put_super() llama a iput(sbi -> node_inode) y establece sbi -> node_inode en NULL después de que sbi -> nr_pages[F2FS_WB_CP_DATA] se decrementa a cero. Como resultado, f2fs_in_warm_node_list() puede desreferenciar un node_inode NULL al verificar si un folio pertenece al nodo inode, lo que lleva a un pánico. Este parche corrige el problema llamando a f2fs_in_warm_node_list() antes de decrementar sbi -> nr_pages[F2FS_WB_CP_DATA], evitando así la condición de uso después de liberación.

Information

Published : 2026-05-01 14:16

Updated : 2026-11-11 21:10


NVD link : CVE-2026-31715

Mitre link : CVE-2026-31715

CVE.ORG link : CVE-2026-31715


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-416

Use After Free