CVE-2024-53143

fsnotify: Fix ordering of iput() and watched_objects decrement

High · published December 7, 2024

CVSS v3.1
7.8
EPSS
0%
Percentile
11.0
In the wild
Unconfirmed
What it is

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

fsnotify: Fix ordering of iput() and watched_objects decrement

Ensure the superblock is kept alive until we're done with iput().

Holding a reference to an inode is not allowed unless we ensure the

superblock stays alive, which fsnotify does by keeping the

watched_objects count elevated, so iput() must happen before the

watched_objects decrement.

This can lead to a UAF of something like sb->s_fs_info in tmpfs, but the

UAF is hard to hit because race orderings that oops are more likely, thanks

to the CHECK_DATA_CORRUPTION() block in generic_shutdown_super().

Also, ensure that fsnotify_put_sb_watched_objects() doesn't call

fsnotify_sb_watched_objects() on a superblock that may have already been

freed, which would cause a UAF read of sb->s_fsnotify_info.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00213 · 11.0th percentile
Published
2024-12-07T06:40Z
EPSS history
Timeline
  • 07 DEC 06:40Z
    fsnotify: Fix ordering of iput() and watched_objects decrement
    cvelistv5