Linux Kernel up to 6.16.0 eventpoll ep_loop_check_proc recursion

| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 5.5 | $0-$5k | 0.00 |
Summary
A vulnerability marked as critical has been reported in Linux Kernel up to 6.16.0. Impacted is the function ep_loop_check_proc of the component eventpoll. This manipulation causes recursion.
This vulnerability is handled as CVE-2025-38614. There is not any exploit available.
It is suggested to upgrade the affected component.
Details
A vulnerability has been found in Linux Kernel up to 6.16.0 and classified as critical. Affected by this vulnerability is the function ep_loop_check_proc of the component eventpoll. The manipulation with an unknown input leads to a recursion vulnerability. The CWE definition for the vulnerability is CWE-674. The product does not properly control the amount of recursion that takes place, consuming excessive resources, such as allocated memory or the program stack. As an impact it is known to affect availability. The summary by CVE is:
In the Linux kernel, the following vulnerability has been resolved: eventpoll: Fix semi-unbounded recursion Ensure that epoll instances can never form a graph deeper than EP_MAX_NESTS+1 links. Currently, ep_loop_check_proc() ensures that the graph is loop-free and does some recursion depth checks, but those recursion depth checks don't limit the depth of the resulting tree for two reasons: - They don't look upwards in the tree. - If there are multiple downwards paths of different lengths, only one of the paths is actually considered for the depth check since commit 28d82dc1c4ed ("epoll: limit paths"). Essentially, the current recursion depth check in ep_loop_check_proc() just serves to prevent it from recursing too deeply while checking for loops. A more thorough check is done in reverse_path_check() after the new graph edge has already been created; this checks, among other things, that no paths going upwards from any non-epoll file with a length of more than 5 edges exist. However, this check does not apply to non-epoll files. As a result, it is possible to recurse to a depth of at least roughly 500, tested on v6.15. (I am unsure if deeper recursion is possible; and this may have changed with commit 8c44dac8add7 ("eventpoll: Fix priority inversion problem").) To fix it: 1. In ep_loop_check_proc(), note the subtree depth of each visited node, and use subtree depths for the total depth calculation even when a subtree has already been visited. 2. Add ep_get_upwards_depth_proc() for similarly determining the maximum depth of an upwards walk. 3. In ep_loop_check(), use these values to limit the total path length between epoll nodes to EP_MAX_NESTS edges.
It is possible to read the advisory at git.kernel.org. This vulnerability is known as CVE-2025-38614 since 04/16/2025. Technical details of the vulnerability are known, but there is no available exploit.
The vulnerability scanner Nessus provides a plugin with the ID 260130 (Linux Distros Unpatched Vulnerability : CVE-2025-38614), which helps to determine the existence of the flaw in a target environment.
Upgrading to version 6.16.1 or 6.17-rc1 eliminates this vulnerability. Applying the patch 3542c90797bc3ab83ebab54b737d751cf3682036/f2e467a48287c868818085aa35389a224d226732 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 (260130) and CERT Bund (WID-SEC-2025-1869). Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.
Affected
- Debian Linux
- Amazon Linux 2
- Red Hat Enterprise Linux
- Ubuntu Linux
- SUSE Linux
- Oracle Linux
- SUSE openSUSE
- RESF Rocky Linux
- Dell Avamar
- Open Source Linux Kernel
- Dell NetWorker
- Dell Secure Connect Gateway
- IBM QRadar SIEM
Product
Type
Vendor
Name
Version
License
Website
- Vendor: https://www.kernel.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 5.6VulDB Meta Temp Score: 5.5
VulDB Base Score: 5.7
VulDB Temp Score: 5.5
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: RecursionCWE: CWE-674 / 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: 260130
Nessus Name: Linux Distros Unpatched Vulnerability : CVE-2025-38614
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
0-Day Time: 🔒
Upgrade: Kernel 6.16.1/6.17-rc1
Patch: 3542c90797bc3ab83ebab54b737d751cf3682036/f2e467a48287c868818085aa35389a224d226732
Timeline
04/16/2025 CVE reserved08/19/2025 Advisory disclosed
08/19/2025 VulDB entry created
01/21/2026 VulDB entry last update
Sources
Vendor: kernel.orgAdvisory: git.kernel.org
Status: Confirmed
CVE: CVE-2025-38614 (🔒)
GCVE (CVE): GCVE-0-2025-38614
GCVE (VulDB): GCVE-100-320611
CERT Bund: WID-SEC-2025-1869 - Linux Kernel: Mehrere Schwachstellen
Entry
Created: 08/19/2025 19:29Updated: 01/21/2026 09:46
Changes: 08/19/2025 19:29 (59), 08/21/2025 06:04 (1), 09/01/2025 08:59 (2), 09/25/2025 07:09 (7), 10/27/2025 03:08 (1), 11/01/2025 15:26 (1), 01/09/2026 17:18 (10), 01/21/2026 09:46 (1)
Complete: 🔍
Cache ID: 216::103
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.
No comments yet. Languages: en.
Please log in to comment.