CVE-2023-53440CWE-476

CVE-2023-53440

High · published September 18, 2025

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

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

nilfs2: fix sysfs interface lifetime

The current nilfs2 sysfs support has issues with the timing of creation

and deletion of sysfs entries, potentially leading to null pointer

dereferences, use-after-free, and lockdep warnings.

Some of the sysfs attributes for nilfs2 per-filesystem instance refer to

metadata file "cpfile", "sufile", or "dat", but

nilfs_sysfs_create_device_group that creates those attributes is executed

before the inodes for these metadata files are loaded, and

nilfs_sysfs_delete_device_group which deletes these sysfs entries is

called after releasing their metadata file inodes.

Therefore, access to some of these sysfs attributes may occur outside of

the lifetime of these metadata files, resulting in inode NULL pointer

dereferences or use-after-free.

In addition, the call to nilfs_sysfs_create_device_group() is made during

the locking period of the semaphore "ns_sem" of nilfs object, so the

shrinker call caused by the memory allocation for the sysfs entries, may

derive lock dependencies "ns_sem" -> (shrinker) -> "locks acquired in

nilfs_evict_inode()".

Since nilfs2 may acquire "ns_sem" deep in the call stack holding other

locks via its error handler __nilfs_error(), this causes lockdep to report

circular locking. This is a false positive and no circular locking

actually occurs as no inodes exist yet when

nilfs_sysfs_create_device_group() is called. Fortunately, the lockdep

warnings can be resolved by simply moving the call to

nilfs_sysfs_create_device_group() out of "ns_sem".

This fixes these sysfs issues by revising where the device's sysfs

interface is created/deleted and keeping its lifetime within the lifetime

of the metadata files above.

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.00152 · 4.0th percentile
Weakness
CWE-476 · NULL Pointer Dereference
Published
2025-09-18T20:15Z
Affected products (12)
ProductVersionsFixed in
linux/linux_kernel≥ 3.17, < 4.14.3134.14.313
linux/linux_kernel≥ 4.15, < 4.19.2814.19.281
linux/linux_kernel≥ 4.20, < 5.4.2415.4.241
linux/linux_kernel≥ 5.5, < 5.10.1785.10.178
linux/linux_kernel≥ 5.11, < 5.15.1075.15.107
linux/linux_kernel≥ 5.16, < 6.1.246.1.24
linux/linux_kernel≥ 6.2, < 6.2.116.2.11
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (8)
EPSS history
Timeline
  • 18 SEP 16:04Z
    nilfs2: fix sysfs interface lifetime
    cvelistv5