Vigil@nce : GNU Enscript, buffer overflow via escape setfilename
novembre 2008 par Vigil@nce
SYNTHÈSE
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 : confirmé par l’éditeur (5/5)
Diffusion de la configuration vulnérable : moyenne (2/3)
Date création : 06/11/2008
PRODUITS CONCERNÉS
– Fedora
– Novell Linux Desktop
– Novell Open Enterprise Server
– OpenSUSE
– SuSE Linux
– SUSE LINUX Enterprise Server
– 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
\x00setfilenamefichier : indique le nom de fichier à utiliser
etc.
La fonction read_special_escape() du fichier src/psgen.c analyse
ces motifs spéciaux. Lorsque le motif "setfilename" est utilisé,
le nom du fichier, 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
"setfilename" 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, FEDORA-2008-9351,
FEDORA-2008-9372, SUSE-SR:2008:024, VIGILANCE-VUL-8225