Linux Kernel up to 6.12.28/6.14.6 fileio erofs_onlinefolio_split allocation of resources

| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 5.4 | $0-$5k | 0.00 |
Summary
A vulnerability, which was classified as problematic, was found in Linux Kernel up to 6.12.28/6.14.6. Affected by this vulnerability is the function erofs_onlinefolio_split of the component fileio. Such manipulation leads to allocation of resources.
This vulnerability is listed as CVE-2025-37999. There is no available exploit.
You should upgrade the affected component.
Details
A vulnerability was found in Linux Kernel up to 6.12.28/6.14.6. It has been rated as problematic. Affected by this issue is the function erofs_onlinefolio_split of the component fileio. The manipulation with an unknown input leads to a allocation of resources vulnerability. Using CWE to declare the problem leads to CWE-770. The product allocates a reusable resource or group of resources on behalf of an actor without imposing any restrictions on the size or number of resources that can be allocated, in violation of the intended security policy for that actor. The impact remains unknown. CVE summarizes:
In the Linux kernel, the following vulnerability has been resolved: fs/erofs/fileio: call erofs_onlinefolio_split() after bio_add_folio() If bio_add_folio() fails (because it is full), erofs_fileio_scan_folio() needs to submit the I/O request via erofs_fileio_rq_submit() and allocate a new I/O request with an empty `struct bio`. Then it retries the bio_add_folio() call. However, at this point, erofs_onlinefolio_split() has already been called which increments `folio->private`; the retry will call erofs_onlinefolio_split() again, but there will never be a matching erofs_onlinefolio_end() call. This leaves the folio locked forever and all waiters will be stuck in folio_wait_bit_common(). This bug has been added by commit ce63cb62d794 ("erofs: support unencoded inodes for fileio"), but was practically unreachable because there was room for 256 folios in the `struct bio` - until commit 9f74ae8c9ac9 ("erofs: shorten bvecs[] for file-backed mounts") which reduced the array capacity to 16 folios. It was now trivial to trigger the bug by manually invoking readahead from userspace, e.g.: posix_fadvise(fd, 0, st.st_size, POSIX_FADV_WILLNEED); This should be fixed by invoking erofs_onlinefolio_split() only after bio_add_folio() has succeeded. This is safe: asynchronous completions invoking erofs_onlinefolio_end() will not unlock the folio because erofs_fileio_scan_folio() is still holding a reference to be released by erofs_onlinefolio_end() at the end.
The advisory is shared for download at git.kernel.org. This vulnerability is handled as CVE-2025-37999 since 04/16/2025. There are known technical details, but no exploit is available.
The vulnerability scanner Nessus provides a plugin with the ID 242347 (Oracle Linux 9 : Unbreakable Enterprise kernel (ELSA-2025-20480)), which helps to determine the existence of the flaw in a target environment.
Upgrading to version 6.12.29 or 6.14.7 eliminates this vulnerability. Applying the patch 61e0fc3312309867e5a3495329dad0286d2a5703/c26076197df348c84cc23e5962d61902e072a0f5/bbfe756dc3062c1e934f06e5ba39c239aa953b92 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 (242347) and CERT Bund (WID-SEC-2025-1201). Once again VulDB remains the best source for vulnerability data.
Affected
- Google Container-Optimized OS
- Debian Linux
- Amazon Linux 2
- Red Hat Enterprise Linux
- Ubuntu Linux
- SUSE Linux
- Oracle Linux
- NetApp AFF
- RESF Rocky Linux
- Dell Avamar
- NetApp FAS
- 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.14.0
- 6.14.1
- 6.14.2
- 6.14.3
- 6.14.4
- 6.14.5
- 6.14.6
License
Website
- Vendor: https://www.kernel.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 5.5VulDB Meta Temp Score: 5.4
VulDB Base Score: 5.5
VulDB Temp Score: 5.3
VulDB Vector: 🔍
VulDB Reliability: 🔍
NVD Base Score: 5.5
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: Allocation of resourcesCWE: CWE-770 / CWE-400 / CWE-404
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: 242347
Nessus Name: Oracle Linux 9 : Unbreakable Enterprise kernel (ELSA-2025-20480)
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
0-Day Time: 🔍
Upgrade: Kernel 6.12.29/6.14.7
Patch: 61e0fc3312309867e5a3495329dad0286d2a5703/c26076197df348c84cc23e5962d61902e072a0f5/bbfe756dc3062c1e934f06e5ba39c239aa953b92
Timeline
04/16/2025 🔍05/29/2025 🔍
05/29/2025 🔍
11/28/2025 🔍
Sources
Vendor: kernel.orgAdvisory: git.kernel.org
Status: Confirmed
CVE: CVE-2025-37999 (🔍)
GCVE (CVE): GCVE-0-2025-37999
GCVE (VulDB): GCVE-100-310508
CERT Bund: WID-SEC-2025-1201 - Linux Kernel: Mehrere Schwachstellen
Entry
Created: 05/29/2025 17:13Updated: 11/28/2025 17:34
Changes: 05/29/2025 17:13 (58), 07/19/2025 15:26 (2), 11/14/2025 17:57 (11), 11/28/2025 17:34 (7)
Complete: 🔍
Cache ID: 216::103
Once again VulDB remains the best source for vulnerability data.
No comments yet. Languages: en.
Please log in to comment.