CVE-2023-53608

nilfs2: fix potential UAF of struct nilfs_sc_info in nilfs_segctor_thread()

State
Published
Severity
7.8 High
Published
Oct 4, 2025
Updated
Aug 5, 2026
Reserved
Oct 4, 2025

Read the record on cve.org

Description

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

nilfs2: fix potential UAF of struct nilfs_sc_info in nilfs_segctor_thread()

The finalization of nilfs_segctor_thread() can race with nilfs_segctor_kill_thread() which terminates that thread, potentially causing a use-after-free BUG as KASAN detected.

At the end of nilfs_segctor_thread(), it assigns NULL to "sc_task" member of "struct nilfs_sc_info" to indicate the thread has finished, and then notifies nilfs_segctor_kill_thread() of this using waitqueue "sc_wait_task" on the struct nilfs_sc_info.

However, here, immediately after the NULL assignment to "sc_task", it is possible that nilfs_segctor_kill_thread() will detect it and return to continue the deallocation, freeing the nilfs_sc_info structure before the thread does the notification.

This fixes the issue by protecting the NULL assignment to "sc_task" and its notification, with spinlock "sc_state_lock" of the struct nilfs_sc_info. Since nilfs_segctor_kill_thread() does a final check to see if "sc_task" is NULL with "sc_state_lock" locked, this can eliminate the race.

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
  • 9ff05123e3bfbb1d2b68ba1d9bf1f7d1dffc1453 to before 034cce77d52ba013ce62b4f5258c29907eb1ada5Affected
  • 9ff05123e3bfbb1d2b68ba1d9bf1f7d1dffc1453 to before 0dbf0e64b91ee8fcb278aea93eb06fc7d56ecbccAffected
  • 9ff05123e3bfbb1d2b68ba1d9bf1f7d1dffc1453 to before 613bf23c070d11c525268f2945aa594704a9b764Affected
  • 9ff05123e3bfbb1d2b68ba1d9bf1f7d1dffc1453 to before f32297dba338dc06d62286dedb3cdbd5175b1719Affected
  • 9ff05123e3bfbb1d2b68ba1d9bf1f7d1dffc1453 to before 92684e02654c91a61a0b0561433b710bcece19feAffected
  • 9ff05123e3bfbb1d2b68ba1d9bf1f7d1dffc1453 to before bae009a2f1b7c2011d2e92d8c84868d315c0b97eAffected
  • 9ff05123e3bfbb1d2b68ba1d9bf1f7d1dffc1453 to before b4d80bd6370b81a1725b6b8f7894802c23a14e9fAffected
  • 9ff05123e3bfbb1d2b68ba1d9bf1f7d1dffc1453 to before 6be49d100c22ffea3287a4b19d7639d259888e33Affected
LinuxLinux
  • 2.6.30Affected
  • before 2.6.30Not affected
  • 4.14.313 through 4.14.*Not affected
  • 4.19.281 through 4.19.*Not affected
  • 5.4.241 through 5.4.*Not affected
  • 5.10.178 through 5.10.*Not affected
  • 5.15.107 through 5.15.*Not affected
  • 6.1.24 through 6.1.*Not affected
  • 6.2.11 through 6.2.*Not affected
  • 6.3 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.