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

drm/v3d: Reject empty multisync extension to prevent infinite loop

v3d_get_extensions() walks a userspace-provided singly-linked list of
ioctl extensions without any bound on the chain length. A local user
can craft a self-referential extension (ext->next == &ext) with zero
in_sync_count and out_sync_count, which bypasses the existing duplicate-
extension guard:

if (se->in_sync_count || se->out_sync_count)
return -EINVAL;

The guard never fires because v3d_get_multisync_post_deps() returns
immediately when count is zero, leaving both fields at zero on every
iteration. The result is an infinite loop in kernel context, blocking
the calling thread and pegging a CPU core indefinitely.

Fix this by rejecting a multisync extension where both in_sync_count
and out_sync_count are zero in v3d_get_multisync_submit_deps(). An
empty multisync carries no synchronization information and serves no
useful purpose, so returning -EINVAL for such an extension is the
correct defense against this attack vector.
Published: 2026-06-08
Score: n/a
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

This vulnerability occurs in the Linux kernel’s drm/v3d driver when a local user crafts an ioctl extension that creates a self‑referential singly‑linked list. Because the driver does not bound the list length, an extension with both in_sync_count and out_sync_count set to zero bypasses existing validation checks and causes the kernel to walk an infinite loop. This lack of input validation is a CWE‑606 vulnerability. The loop blocks the calling thread and can pin a CPU core indefinitely, effectively exhausting kernel resources for that thread.

Affected Systems

The bug affects all Linux kernel releases that contain the unpatched drm/v3d driver. Specific version numbers are not supplied in the advisory, so any kernel built before the patch should be considered vulnerable.

Risk and Exploitability

The CVSS score is not provided and the EPSS is unavailable; the vulnerability is not listed in CISA KEV. The attack requires local privilege to invoke the relevant ioctl, so a compromised or untrusted user on the system can intentionally trigger the denial of service. The loop runs in kernel mode and does not involve network exposure.

Generated by OpenCVE AI on June 9, 2026 at 02:35 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the kernel to a patched release that rejects empty multisync extensions in the drm/v3d driver.
  • If a quick kernel update is not possible, restrict access to the DRM ioctl so that only privileged users can issue multisync requests.
  • As a temporary measure, modify any user‑space applications that use drm/v3d to validate sync counts and avoid sending extensions with zero in_sync_count and out_sync_count.

Generated by OpenCVE AI on June 9, 2026 at 02:35 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 09 Jun 2026 00:15:00 +0000


Mon, 08 Jun 2026 17:00:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: drm/v3d: Reject empty multisync extension to prevent infinite loop v3d_get_extensions() walks a userspace-provided singly-linked list of ioctl extensions without any bound on the chain length. A local user can craft a self-referential extension (ext->next == &ext) with zero in_sync_count and out_sync_count, which bypasses the existing duplicate- extension guard: if (se->in_sync_count || se->out_sync_count) return -EINVAL; The guard never fires because v3d_get_multisync_post_deps() returns immediately when count is zero, leaving both fields at zero on every iteration. The result is an infinite loop in kernel context, blocking the calling thread and pegging a CPU core indefinitely. Fix this by rejecting a multisync extension where both in_sync_count and out_sync_count are zero in v3d_get_multisync_submit_deps(). An empty multisync carries no synchronization information and serves no useful purpose, so returning -EINVAL for such an extension is the correct defense against this attack vector.
Title drm/v3d: Reject empty multisync extension to prevent infinite loop
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-06-08T15:50:45.305Z

Reserved: 2026-05-13T15:03:33.111Z

Link: CVE-2026-46314

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-06-08T17:16:50.430

Modified: 2026-06-08T17:16:50.430

Link: CVE-2026-46314

cve-icon Redhat

Severity :

Publid Date: 2026-06-08T00:00:00Z

Links: CVE-2026-46314 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-06-09T02:45:36Z

Weaknesses