CVE-2026-31715

f2fs: fix UAF caused by decrementing sbi->nr_pages[] in f2fs_write_end_io()

published May 1, 2026

CVSS
—
EPSS
0%
Percentile
1.7
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00120 · 1.7th percentile
Published
2026-05-01T13:56Z
EPSS history
Timeline
  • 01 MAY 13:56Z
    f2fs: fix UAF caused by decrementing sbi->nr_pages[] in f2fs_write_end_io()
    cvelistv5