CVE Catalog

CVE-2025-38172

HighCVSS 7.8
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.15%

4th percentile - higher than 4% of all known CVEs

Summary

In the EROFS filesystem in the Linux kernel, a use-after-free bug was found when using multiple devices of different types. When the primary device is a block device and the extra is a file-backed device, erofs_init_device returns ENOTBLK, leading to access to freed memory.

Risk Assessment

The vulnerability may cause system crashes or potential arbitrary code execution in kernel context when mounting an EROFS filesystem.

Recommendation

Apply the Linux kernel patch that converts the ENOTBLK error to EINVAL, preventing UAF.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: erofs: avoid using multiple devices with different type For multiple devices, both primary and extra devices should be the same type. `erofs_init_device` has already guaranteed that if the primary is a file-backed device, extra devices should also be regular files. However, if the primary is a block device while the extra device is a file-backed device, `erofs_init_device` will get an ENOTBLK, which is not treated as an error in `erofs_fc_get_tree`, and that leads to an UAF: erofs_fc_get_tree get_tree_bdev_flags(erofs_fc_fill_super) erofs_read_superblock erofs_init_device // sbi->dif0 is not inited yet, // return -ENOTBLK deactivate_locked_super free(sbi) if (err is -ENOTBLK) sbi->dif0.file = filp_open() // sbi UAF So if -ENOTBLK is hitted in `erofs_init_device`, it means the primary device must be a block device, and the extra device is not a block device. The error can be converted to -EINVAL.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS