CVE-2026-80701 in Linux
Résumé
par VulDB • 28/08/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
drm/vmwgfx : application des limites de taille du curseur pour les curseurs MOB
La fonction vmw_cursor_plane_atomic_check() ne vérifie les bornes (largeur et hauteur) du curseur que sur le chemin de mise à jour hérité ; le chemin SVGA_CAP2_CURSOR_MOB, qui est la valeur par défaut sur les hôtes modernes, accepte n'importe quelle taille. Lorsque la taille demandée dépasse SVGA_REG_CURSOR_MAX_DIMENSION ou SVGA_REG_MOB_MAX_SIZE, vmw_cursor_mob_get() renvoie -EINVAL et laisse vps->cursor.mob à NULL. Sa valeur de retour est ensuite ignorée dans vmw_cursor_plane_prepare_fb(), ce qui fait que les appels ultérieurs à vmw_cursor_update_mob() invoquent vmw_bo_map_and_cache(NULL) et provoquent un plantage (oops) au sein de vmw_bo_map_and_cache_size() lors du chargement de tbo.base.size.
Cette vulnérabilité est accessible depuis n'importe quel maître DRM via l'appel système DRM_IOCTL_MODE_CURSOR2 avec une largeur ou une hauteur suffisamment importante (par exemple, cursor_max_dim + 1).
Rejeter les curseurs dont la taille dépasse les limites lors de atomic_check pour les deux types de mise à jour des curseurs basés sur MOB. La limite en octets du MOB ne s'applique qu'au chemin SVGA_CAP2_CURSOR_MOB (vmw_cursor_mob_size() renvoie 0 pour GB_ONLY) ; calculer la taille MOB requise en 64 bits afin d'éviter un débordement de tampon lorsque des dimensions très importantes sont demandées.
Dans prepare_fb, n'appeler vmw_cursor_mob_get()/_map() que pour VMW_CURSOR_UPDATE_MOB -- le chemin GB_ONLY utilise directement bo->map.virtual et serait autrement dégradé silencieusement vers NONE sur les hôtes dépourvus de SVGA_CAP2_CURSOR_MOB (où vmw_cursor_mob_get() renvoie toujours -EINVAL). Dégrader la mise à jour vers NONE si vmw_cursor_mob_get() ou vmw_cursor_mob_map() échoue, afin que le chemin de mise à jour ne s'exécute pas avec un MOB sous-jacent NULL.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.