Skip to content
CVE PROGRAM SOURCE RECORDUnscored

CVE-2026-46314

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

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.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • e4165ae8304e5ea822fbe5909dd3be5445c058b7 to < 309abbddeca0c12714721928a819ef45e5710998affected
  • e4165ae8304e5ea822fbe5909dd3be5445c058b7 to < 4fa42a249e8cd6ed17aea04e5695b6e9001f2433affected
  • e4165ae8304e5ea822fbe5909dd3be5445c058b7 to < 9c5164781cb388d219d8f49fa0f0b04cf86ad544affected
  • e4165ae8304e5ea822fbe5909dd3be5445c058b7 to < fb44d589bf3148e13452185a6e772a7efbf2d684affected

Linux Linux

Default version status: affected

  • 5.16affected
  • 0 to < 5.16unaffected
  • 6.1.176 to ≤ 6.1.*unaffected
  • 6.18.33 to ≤ 6.18.*unaffected
  • 7.0.9 to ≤ 7.0.*unaffected
  • 7.1 to ≤ *unaffected

References