Vigil@nce : GNU Enscript, buffer overflow via escape
octobre 2008 par Vigil@nce
Un attaquant peut inviter la victime à convertir un fichier
illicite avec GNU Enscript afin de faire exécuter du code sur sa
machine.
– Gravité : 2/4
– Conséquences : accès/droits utilisateur
– Provenance : document
– Moyen d’attaque : 1 attaque
– Compétence de l’attaquant : technicien (2/4)
– Confiance : source unique (2/5)
– Diffusion de la configuration vulnérable : moyenne (2/3)
– Date création : 23/10/2008
PRODUITS CONCERNÉS
– Unix - plateforme
DESCRIPTION
Le programme GNU Enscript convertit un fichier texte en
PostScript, HTML ou RTF.
L’option "-e" d’enscript active le support des motifs spéciaux
échappés par le caractère nul (par défaut). Par exemple, le
document texte peut contenir :
\x00bgcolorr v b : indique la couleur de fond
\x00fontpolice : indique la police de caractères à utiliser
etc.
La fonction read_special_escape() du fichier src/psgen.c analyse
ces motifs spéciaux. Lorsque le motif "font" est utilisé, le nom
de la police (dont la taille peut aller jusqu’à 4096 caractères)
est copié dans un tableau de 512 octets, ce qui provoque un
débordement.
Un attaquant peut donc créer un fichier texte contenant un motif
"font" illicite, et inviter la victime à l’ouvrir avec "enscript
-e" afin de faire exécuter du code sur sa machine.
CARACTÉRISTIQUES
– Références : BID-31858, CVE-2008-3863, VIGILANCE-VUL-8197
– Url : http://vigilance.aql.fr/vulnerabilite/8197