Vigil@nce : Noyau Linux, débordement d’entier via drm_mode_dirtyfb_ioctl
janvier 2012 par Vigil@nce
Ce bulletin a été rédigé par Vigil@nce : http://vigilance.fr/offre
SYNTHÈSE DE LA VULNÉRABILITÉ
Un attaquant local peut employer l’ioctl DRM_IOCTL_MODE_DIRTYFB,
afin de provoquer un débordement d’entier, conduisant à un déni de
service et éventuellement à l’exécution de code.
– Gravité : 2/4
– Date création : 11/01/2012
PRODUITS CONCERNÉS
– Linux noyau
DESCRIPTION DE LA VULNÉRABILITÉ
L’ioctl DRM_IOCTL_MODE_DIRTYFB permet de marquer une zone du
framebuffer en "dirty" (les données ont changé, et doivent donc
être réaffichées).
Cet ioctl utilise la structure drm_mode_fb_dirty_cmd qui contient
un champ num_clips indiquant le nombre de zones changées.
Lorsque l’utilisateur emploie l’ioctl DRM_IOCTL_MODE_DIRTYFB, le
noyau appelle la fonction drm_mode_dirtyfb_ioctl() du fichier
drivers/gpu/drm/drm_crtc.c. Cependant, cette fonction ne vérifie
pas si le nombre de zones (num_clips) est positif et inférieur à
DRM_MODE_FB_DIRTY_MAX_CLIPS (256).
Un attaquant local peut donc employer l’ioctl
DRM_IOCTL_MODE_DIRTYFB, afin de provoquer un débordement d’entier,
conduisant à un déni de service et éventuellement à l’exécution de
code.
ACCÈS AU BULLETIN VIGIL@NCE COMPLET
http://vigilance.fr/vulnerabilite/Noyau-Linux-debordement-d-entier-via-drm-mode-dirtyfb-ioctl-11276