CVE-2025-38627

f2fs: compress: fix UAF of f2fs_inode_info in f2fs_free_dic

State
Published
Severity
7.8 High
Published
Aug 22, 2025
Updated
Aug 5, 2026
Reserved
Apr 16, 2025

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

f2fs: compress: fix UAF of f2fs_inode_info in f2fs_free_dic

The decompress_io_ctx may be released asynchronously after I/O completion. If this file is deleted immediately after read, and the kworker of processing post_read_wq has not been executed yet due to high workloads, It is possible that the inode(f2fs_inode_info) is evicted and freed before it is used f2fs_free_dic.

The UAF case as below: Thread A Thread B - f2fs_decompress_end_io - f2fs_put_dic - queue_work add free_dic work to post_read_wq - do_unlink - iput - evict - call_rcu This file is deleted after read.

Thread C kworker to process post_read_wq - rcu_do_batch - f2fs_free_inode - kmem_cache_free inode is freed by rcu - process_scheduled_works - f2fs_late_free_dic - f2fs_free_dic - f2fs_release_decomp_mem read (dic->inode)->i_compress_algorithm

This patch store compress_algorithm and sbi in dic to avoid inode UAF.

In addition, the previous solution is deprecated in [1] may cause system hang. [1] https://lore.kernel.org/all/c36ab955-c8db-4a8b-a9d0-f07b5f426c3f@kernel.org

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • bff139b49d9f70c1ac5384aac94554846aa834de to before 74cbeeca4f16823ba58c882e1d8b836c0e39c93dAffected
  • bff139b49d9f70c1ac5384aac94554846aa834de to before 5d604d40cd3232b09cb339941ef958e49283ed0aAffected
  • bff139b49d9f70c1ac5384aac94554846aa834de to before cc81768212cdc509e5a986274db7bc24d18cde19Affected
  • bff139b49d9f70c1ac5384aac94554846aa834de to before 8fae5b6addd5f6895e03797b56e3c7b9f9cd15c9Affected
  • bff139b49d9f70c1ac5384aac94554846aa834de to before 39868685c2a94a70762bc6d77dc81d781d05bff5Affected
LinuxLinux
  • 6.0Affected
  • before 6.0Not affected
  • 6.1.175 through 6.1.*Not affected
  • 6.6.118 through 6.6.*Not affected
  • 6.12.78 through 6.12.*Not affected
  • 6.16.1 through 6.16.*Not affected
  • 6.17 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.