Vigil@nce : CUPS, débordement d’entier via PNG
décembre 2008 par Vigil@nce
SYNTHÈSE
Un attaquant peut imprimer une image PNG illicite pour provoquer
un débordement d’entier dans CUPS afin de mener un déni de service
ou de faire exécuter du code.
Gravité : 2/4
Conséquences : accès/droits privilégié
Provenance : client intranet
Moyen d’attaque : aucun démonstrateur, aucune attaque
Compétence de l’attaquant : expert (4/4)
Confiance : confirmé par l’éditeur (5/5)
Diffusion de la configuration vulnérable : élevée (3/3)
Date création : 01/12/2008
PRODUITS CONCERNÉS
– Debian Linux
– Unix - plateforme
DESCRIPTION
Le système CUPS (Common UNIX Printing System) assure une gestion
simplifiée des imprimantes sous un environnement Unix. Il écoute
sur le port 631/udp, sur lequel les clients se connectent.
La fonction _cupsImageReadPNG() calcule la taille d’une zone
mémoire d’après une multiplication d’entiers :
bufsize = img->xsize * img->ysize * 3 ;
Cependant, cette multiplication peut déborder et conduire à
l’allocation d’une zone mémoire trop courte. Une corruption de
mémoire se produit alors lorsque des données sont copiées dans
cette zone mémoire.
Un attaquant peut donc imprimer une image PNG illicite pour
provoquer un débordement d’entier afin de mener un déni de service
ou de faire exécuter du code sur le serveur où est installé CUPS.
CARACTÉRISTIQUES
Références : BID-32518, CVE-2008-5286, DSA 1677-1, L2974,
VIGILANCE-VUL-8274