Una vulnerabilidad de uso después de liberación (use-after-free) en la función DRM_IOCTL_GEM_CHANGE_HANDLE del subsistema DRM GEM del kernel Linux permite a cualquier usuario local con acceso a un nodo de renderización escalar privilegios hasta root sin necesidad de contraseña. Identificada como CVE-2026-46215, la falla fue introducida en la versión 6.18-rc1 mediante el commit 53096728, añadido para soportar el trabajo de checkpoint/restore de AMD. El error reside en que drm_gem_change_handle_ioctl() traslada un objeto GEM de un descriptor a otro sin ajustar el contador handle_count, lo que abre una ventana en la que el objeto tiene dos entradas en el IDR mientras su contador sigue marcando 1, permitiendo que un DRM_IOCTL_GEM_CLOSE concurrente sobre el descriptor antiguo reduzca el conteo a 0 y libere el objeto, dejando el nuevo descriptor apuntando a memoria liberada. Ambos ioctls están marcados como DRM_RENDER_ALLOW, de modo que cualquier sesión interactiva que systemd-logind habilita por defecto sobre /dev/dri/renderD128 puede alcanzar el código vulnerable. El autor del informe desarrolló una cadena de explotación que reutiliza el slot liberado con un spray de pipe_buffer, filtra un puntero del kernel para eludir KASLR, activa PIPE_BUF_FLAG_CAN_MERGE para esquivar el parche de DirtyPipe y sobrescribe /etc/passwd a través del page cache, logrando acceso root sin contraseña en alrededor del 99 % de las ejecuciones. El fallo fue corregido en la rama principal en mayo de 2026 mediante el commit 5e28b7b y backporteado a las versiones estables; se recomienda actualizar el kernel a la mayor brevedad. El crédito de autoría del reporte recae en Puttimet Thammasaeng, mientras que el autor del análisis publicó su propio exploit de forma independiente.
