CVE-2025-38172
Vulnerability Summary
Timeline
Description
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.
CVSS Metrics
- v3.1•HIGH•Score: 7.8CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
EPSS Trends
Current EPSS score: 0.05%• Percentile: 16%
Techniques & Countermeasures
- CWE-416•Use After Free
The product reuses or references memory after it has been freed. At some point afterward, the memory may be allocated again and saved in another pointer, while the original pointer references a location somewhere within the new allocation. Any operations using the original pointer are no longer valid because the memory "belongs" to the code that operates on the new pointer.
Affected Systems
- linux•linux
≥ fb176750266a3d7f42ebdcf28e8ba40350b27847, < 65115472f741ca000d7ea4a5922214f93cd1516e | ≥ fb176750266a3d7f42ebdcf28e8ba40350b27847, < cd04beb9ce2773a16057248bb4fa424068ae3807 | ≥ fb176750266a3d7f42ebdcf28e8ba40350b27847, < 9748f2f54f66743ac77275c34886a9f890e18409 | 6.12
- linux•linux_kernel
≥ 6.12, < 6.12.34 | ≥ 6.13, < 6.15.3