CVE-2026-46314

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.
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

History

23 Jul 2026, 07:10

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta: drm/v3d: Rechazar extensión multisync vacía para prevenir bucle infinito v3d_get_extensions() recorre una lista enlazada simple de extensiones ioctl proporcionada por el espacio de usuario sin ningún límite en la longitud de la cadena. Un usuario local puede crear una extensión autorreferencial (ext->next == &ext) con in_sync_count y out_sync_count en cero, lo que elude la protección existente contra extensiones duplicadas: if (se->in_sync_count || se->out_sync_count) return -EINVAL; La protección nunca se activa porque v3d_get_multisync_post_deps() devuelve inmediatamente cuando count es cero, dejando ambos campos en cero en cada iteración. El resultado es un bucle infinito en contexto de kernel, bloqueando el hilo llamador y acaparando un núcleo de CPU indefinidamente. Solucione esto rechazando una extensión multisync donde tanto in_sync_count como out_sync_count son cero en v3d_get_multisync_submit_deps(). Una multisync vacía no lleva información de sincronización y no tiene ningún propósito útil, por lo que devolver -EINVAL para dicha extensión es la defensa correcta contra este vector de ataque.

08 Jul 2026, 14:50

Type Values Removed Values Added
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 5.5
CPE cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
References () https://git.kernel.org/stable/c/309abbddeca0c12714721928a819ef45e5710998 - () https://git.kernel.org/stable/c/309abbddeca0c12714721928a819ef45e5710998 - Patch
References () https://git.kernel.org/stable/c/4fa42a249e8cd6ed17aea04e5695b6e9001f2433 - () https://git.kernel.org/stable/c/4fa42a249e8cd6ed17aea04e5695b6e9001f2433 - Patch
References () https://git.kernel.org/stable/c/9c5164781cb388d219d8f49fa0f0b04cf86ad544 - () https://git.kernel.org/stable/c/9c5164781cb388d219d8f49fa0f0b04cf86ad544 - Patch
References () https://git.kernel.org/stable/c/fb44d589bf3148e13452185a6e772a7efbf2d684 - () https://git.kernel.org/stable/c/fb44d589bf3148e13452185a6e772a7efbf2d684 - Patch
First Time Linux linux Kernel
Linux
CWE CWE-835

19 Jun 2026, 13:16

Type Values Removed Values Added
References
  • () https://git.kernel.org/stable/c/309abbddeca0c12714721928a819ef45e5710998 -

08 Jun 2026, 17:16

Type Values Removed Values Added
New CVE

Information

Published : 2026-06-08 17:16

Updated : 2026-07-23 07:10


NVD link : CVE-2026-46314

Mitre link : CVE-2026-46314

CVE.ORG link : CVE-2026-46314


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-835

Loop with Unreachable Exit Condition ('Infinite Loop')