Description
In the Linux kernel, the following vulnerability has been resolved:

drm/i915: fix incorrect RCU teardown order

i915_gem_busy_ioctl uses dma_resv_for_each_fence_unlocked() to iterate
over the fences in an GEM object without holding a reference but only
the RCU read side lock.

What can happen here is that the GEM object is destroyed concurrently
while i915_gem_busy_ioctl is still running. This won't free the GEM
objects memory, but still drops all the dma_fence references.

Now when dma_resv_for_each_fence_unlocked() sees a destroyed dma_fence it
assumes that a new fence list was installed and re-starts the loop.

But in the case of a destroyed GEM object a new fence list is never
installed, only the old one freed and therefore the iteration never
finishes resulting in an endless loop.

The solution is to drop the fence references only after the RCU grace
period.

The fixes tag is not necessary the patch introducing the problem, but the
one making it so worse that we need to address it.

This problem was pointed out by Sashiko-bot.

(cherry picked from commit 5113479556025093bf8133bb2dcaa33be2d50921)
Published: 2026-10-18
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service
Action: Apply Patch
AI Analysis

Impact

Based on the description, it is inferred that an attacker could trigger a local denial‑of‑service by sending a crafted ioctl to the i915 DRM driver. The bug occurs when i915_gem_busy_ioctl iterates over DMA fences without holding a proper reference to the GEM object. If the GEM object is destroyed concurrently, the routine drops all pending dma_fence references but continues in the RCU read‑side critical section. The iterator then encounters a freed fence, incorrectly assumes a new fence list has been installed, and restarts the loop. Because no new list is ever installed for a destroyed object, the loop never terminates, causing an infinite CPU‑bound cycle in the kernel, which exhausts system resources and hangs the invoking process. The primary weakness reflected here is a race condition and improper synchronization between resource deallocation and use.

Affected Systems

All Linux kernel builds that ship without the fix for the i915 DRM driver are affected. The link to the commit that resolves the issue (5113479556025093bf8133bb2dcaa33be2d50921) indicates that any kernel version prior to that commit is vulnerable. Since the CNA vendor list only lists the Linux kernel generically, affected systems include any distribution or custom kernel that uses the buggy i915 driver until a patched kernel is deployed.

Risk and Exploitability

Based on the description, it is inferred that a local attacker could trigger a denial‑of‑service via a crafted ioctl. The CVSS score of 5.5 indicates moderate severity. The EPSS score of < 1% indicates a very low but non‑zero exploitation probability. Nonetheless, the flaw requires local access to perform the damaging ioctl and does not rely on higher privileges, so any user that can open a DRM device can trigger the endless loop. The lack of an explicit exploitation rate in the data suggests that the vulnerability is not widely known or actively exploited at this time, but the potential for resource exhaustion and kernel hang makes the risk significant for compromised hosts. Administrators should consider immediate patching or mitigating controls until the fix is applied.

Generated by OpenCVE AI on October 20, 2026 at 12:48 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply the kernel patch that drops fence references only after the RCU grace period (commit 5113479556025093bf8133bb2dcaa33be2d50921)
  • Upgrade to a Linux kernel version that includes this commit if the patch is not readily available
  • Restrict or remove write access to the /dev/dri/card* devices for non‑privileged users to prevent them from invoking the dangerous ioctl

Generated by OpenCVE AI on October 20, 2026 at 12:48 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4850-1 linux-6.12 security update
History

Tue, 20 Oct 2026 00:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-835
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


Mon, 19 Oct 2026 00:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-362
CWE-416

Sun, 18 Oct 2026 15:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: drm/i915: fix incorrect RCU teardown order i915_gem_busy_ioctl uses dma_resv_for_each_fence_unlocked() to iterate over the fences in an GEM object without holding a reference but only the RCU read side lock. What can happen here is that the GEM object is destroyed concurrently while i915_gem_busy_ioctl is still running. This won't free the GEM objects memory, but still drops all the dma_fence references. Now when dma_resv_for_each_fence_unlocked() sees a destroyed dma_fence it assumes that a new fence list was installed and re-starts the loop. But in the case of a destroyed GEM object a new fence list is never installed, only the old one freed and therefore the iteration never finishes resulting in an endless loop. The solution is to drop the fence references only after the RCU grace period. The fixes tag is not necessary the patch introducing the problem, but the one making it so worse that we need to address it. This problem was pointed out by Sashiko-bot. (cherry picked from commit 5113479556025093bf8133bb2dcaa33be2d50921)
Title drm/i915: fix incorrect RCU teardown order
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-19T09:21:03.153Z

Reserved: 2026-09-25T10:25:14.355Z

Link: CVE-2026-98521

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-18T16:17:03.473

Modified: 2026-10-19T10:19:06.040

Link: CVE-2026-98521

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-10-18T00:00:00Z

Links: CVE-2026-98521 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-20T13:00:12Z

Weaknesses
  • CWE-362

    Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')

  • CWE-416

    Use After Free

  • CWE-835

    Loop with Unreachable Exit Condition ('Infinite Loop')