SecOps SignalSecurity Intelligence Workspace
Collection Running31 / 46 Sources HealthyPublic Intel Only
Vulnerabilities/CVE-2025-38614Public Intelligence Dossier
Source: linux · Limited verification•Last verified: •Collection Running
CVE-2025-38614Unknown / EvaluatingHIGH (raw)CVSS 7.8CWE-674

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

Published: 19 Aug 2025•Last updated: 16 Oct 2026, 03:48 AM IST•Source identifier: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Dossier completeness: source-provided sections 2 / 3 · rule guidance available. Missing source facts count as incomplete.
Official source
CISA KEV catalog
Unknown
KEV status was not determined.
CVSS score
7.8HIGH (raw)
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Metric source416baaa9-dc9f-4396-8d5f-8c081fb06d67
EPSS probability
0.2%0.002
Percentile7th
Weakness type
CWE-674
No further CWE recorded
Remediation
Patch status unknown
No fixed version or KB recorded

Why It Matters

Analysis dossier

Why It Matters

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.

SOC priority

High

Actively exploited

Unknown

Publicly disclosed

Unknown

Risk basis: Microsoft or Microsoft-managed product relevance; HIGH severity; No confirmed exploitation signal in current enrichment

Affected Products & Remediation

2 source-backed products
Affected products and versions (source)
  • linux linux kernel · >= 2.6.32.30 < 2.6.33; >= 2.6.33.8 < 2.6.34; >= 2.6.34.10 < 2.6.35; >= 2.6.35.12 < 2.6.36; >= 2.6.37.3 < 2.6.38; >= 2.6.38.1 < 5.15.190; >= 5.16 < 6.1.149; >= 6.2 < 6.6.103; >= 6.7 < 6.12.43; >= 6.13 < 6.15.11; >= 6.16 < 6.16.1; 2.6.38 · NVD CPE · Source
  • debian debian linux · 11.0 · NVD CPE · Source
Recorded patch / KBNot provided by source

Vendor or catalog guidance (source)

Not provided by source

Known exploitation (source facts)

Only what a source states. Unknown means no source has said either way; it is not "not exploited".

CISA KEV
Unknown
Exploited (source statement)
Unknown
Publicly disclosed (source)
Unknown

Suggested hunting (rule-based inference)

SecOps Signal recommendation (rule-based inference). These steps are hunting hypotheses from the vulnerability class; they do not state or imply that exploitation occurred here or anywhere.

Matched local-privilege-escalation (CVSS AV:L, CVSS PR:L)

Exposure

  1. Identify hosts reporting this CVE, prioritising shared or multi-user systems.Telemetry: DeviceTvmSoftwareVulnerabilities · A local, low-privilege vector matters most where untrusted users can run code. · Rule local-privilege-escalation

Exploitation evidence

  1. Look for low-privileged processes spawning SYSTEM or root-level child processes on affected hosts.Telemetry: DeviceProcessEvents · Hunting hypothesis from the CVSS vector; privilege transitions are a focused starting point, not evidence of attack. · Rule local-privilege-escalation

Response

  1. Confirm the source-stated update on affected hosts.Telemetry: DeviceTvmSoftwareVulnerabilities · Host inventory can verify remediation. · Rule local-privilege-escalation

CISA KEV Record

CISA KEV status was not determined for this record.

Change History & Source Data

— No recorded material change

CNA / source
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Record status · verification
UPDATED · NVD API
CPE
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*, cpe:2.3:o:linux:linux_kernel:2.6.38:-:*:*:*:*:*:*, cpe:2.3:o:linux:linux_kernel:2.6.38:rc7:*:*:*:*:*:*, cpe:2.3:o:linux:linux_kernel:2.6.38:rc8:*:*:*:*:*:*, cpe:2.3:o:debian:debian_linux:11.0:*:*:*:*:*:*:*

Linked by the query's stored exact CVE association. Review required tables and validation status before use.

Detection Hunting Query
Target: DeviceTvmSoftwareVulnerabilities•Defender XDR
Detect endpoints exposed to CVE-2025-38614
Purpose: Exposure assessment (Category: Exposure Check)Why linked: Query metadata names CVE-2025-38614
DeviceTvmSoftwareVulnerabilities| where CveId == "CVE-2025-38614"| project DeviceId, DeviceName, OSPlatform, OSVersion, SoftwareVendor, SoftwareName, SoftwareVersion, CveId, VulnerabilitySeverityLevel, RecommendedSecurityUpdate, RecommendedSecurityUpdateId| sort by VulnerabilitySeverityLevel desc
Schema Checked · Not runtime validatedSource: SecOps Signal deterministic template · Limited verificationStatic screening: Passed structure and schema checks; tenant execution is not verified.

Correlated briefings

— No published briefing references this CVE

SecOps Signal surfaces public advisory facts only. A missing value means the source has not published it, not that your environment is unaffected. No tenant inventory is connected.