Linux Kernel up to 6.12.33/6.15.2 erofs filp_open use after free

| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 7.7 | $0-$5k | 0.00 |
Summary
A vulnerability described as critical has been identified in Linux Kernel up to 6.12.33/6.15.2. This vulnerability affects the function filp_open of the component erofs. Executing a manipulation can lead to use after free.
This vulnerability is handled as CVE-2025-38172. There is not any exploit available.
Upgrading the affected component is recommended.
Details
A vulnerability was found in Linux Kernel up to 6.12.33/6.15.2. It has been declared as critical. This vulnerability affects the function filp_open of the component erofs. The manipulation with an unknown input leads to a use after free vulnerability. The CWE definition for the vulnerability is CWE-416. Referencing memory after it has been freed can cause a program to crash, use unexpected values, or execute code. As an impact it is known to affect confidentiality, integrity, and availability. CVE summarizes:
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.
The advisory is available at git.kernel.org. This vulnerability was named CVE-2025-38172 since 04/16/2025. The exploitation appears to be easy. Technical details are known, but there is no available exploit. The structure of the vulnerability defines a possible price range of USD $0-$5k at the moment (estimation calculated on 04/18/2026).
The vulnerability scanner Nessus provides a plugin with the ID 247412 (Linux Distros Unpatched Vulnerability : CVE-2025-38172), which helps to determine the existence of the flaw in a target environment.
Upgrading to version 6.12.34, 6.15.3 or 6.16-rc1 eliminates this vulnerability. Applying the patch 65115472f741ca000d7ea4a5922214f93cd1516e/cd04beb9ce2773a16057248bb4fa424068ae3807/9748f2f54f66743ac77275c34886a9f890e18409 is able to eliminate this problem. The bugfix is ready for download at git.kernel.org. The best possible mitigation is suggested to be upgrading to the latest version.
The vulnerability is also documented in the databases at Tenable (247412), EUVD (EUVD-2025-19772) and CERT Bund (WID-SEC-2025-1452). If you want to get best quality of vulnerability data, you may have to visit VulDB.
Affected
- Google Container-Optimized OS
- Debian Linux
- Amazon Linux 2
- Red Hat Enterprise Linux
- Ubuntu Linux
- SUSE Linux
- Oracle Linux
- IBM QRadar SIEM
- SUSE openSUSE
- RESF Rocky Linux
- Dell Avamar
- Open Source Linux Kernel
- Dell NetWorker
- Dell Secure Connect Gateway
Product
Type
Vendor
Name
Version
- 6.12.0
- 6.12.1
- 6.12.2
- 6.12.3
- 6.12.4
- 6.12.5
- 6.12.6
- 6.12.7
- 6.12.8
- 6.12.9
- 6.12.10
- 6.12.11
- 6.12.12
- 6.12.13
- 6.12.14
- 6.12.15
- 6.12.16
- 6.12.17
- 6.12.18
- 6.12.19
- 6.12.20
- 6.12.21
- 6.12.22
- 6.12.23
- 6.12.24
- 6.12.25
- 6.12.26
- 6.12.27
- 6.12.28
- 6.12.29
- 6.12.30
- 6.12.31
- 6.12.32
- 6.12.33
- 6.15.0
- 6.15.1
- 6.15.2
License
Website
- Vendor: https://www.kernel.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 7.9VulDB Meta Temp Score: 7.7
VulDB Base Score: 8.0
VulDB Temp Score: 7.6
VulDB Vector: 🔍
VulDB Reliability: 🔍
NVD Base Score: 7.8
NVD Vector: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Reliability: 🔍
Exploiting
Class: Use after freeCWE: CWE-416 / CWE-119
CAPEC: 🔍
ATT&CK: 🔍
Physical: Partially
Local: Yes
Remote: Partially
Availability: 🔍
Status: Not defined
EPSS Score: 🔍
EPSS Percentile: 🔍
Price Prediction: 🔍
Current Price Estimation: 🔍
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Nessus ID: 247412
Nessus Name: Linux Distros Unpatched Vulnerability : CVE-2025-38172
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
0-Day Time: 🔍
Upgrade: Kernel 6.12.34/6.15.3/6.16-rc1
Patch: 65115472f741ca000d7ea4a5922214f93cd1516e/cd04beb9ce2773a16057248bb4fa424068ae3807/9748f2f54f66743ac77275c34886a9f890e18409
Timeline
04/16/2025 🔍07/03/2025 🔍
07/03/2025 🔍
04/18/2026 🔍
Sources
Vendor: kernel.orgAdvisory: git.kernel.org
Status: Confirmed
CVE: CVE-2025-38172 (🔍)
GCVE (CVE): GCVE-0-2025-38172
GCVE (VulDB): GCVE-100-314746
EUVD: 🔍
CERT Bund: WID-SEC-2025-1452 - Linux Kernel: Mehrere Schwachstellen
Entry
Created: 07/03/2025 12:16Updated: 04/18/2026 15:48
Changes: 07/03/2025 12:16 (59), 07/03/2025 12:29 (1), 08/10/2025 22:52 (2), 08/23/2025 22:14 (7), 09/22/2025 00:27 (1), 11/09/2025 17:08 (1), 11/20/2025 21:01 (12), 12/06/2025 20:09 (1), 04/18/2026 15:48 (1)
Complete: 🔍
Cache ID: 216::103
If you want to get best quality of vulnerability data, you may have to visit VulDB.
No comments yet. Languages: en.
Please log in to comment.