Risque

Exécution de code arbitraire.

Systèmes affectés

  • gv versions 3.5.8 et précédentes ;
  • ggv versions 1.0.2 et précédentes ;
  • KGhostView livré avec les versions 1.1 à 3.0.a du projet KDE.
dans des architectures de processeur i386 ou alpha.

Résumé

Une vulnérabilité dans les logiciels gv, ggv et KGhostView permet par le biais d'un document PostScript ou PDF astucieusement construit d'exécuter un code arbitraire.

Description

4.1 La vulnérabilité

ghostscript est un logiciel qui interprète les langages PostScript et Portable Document Format (PDF) et qui s'utilise en ligne de commande pour, le plus souvent :

  • afficher un fichier PostScript ou PDF à l'écran ;
  • imprimer un tel fichier sur une imprimante qui ne connaît pas le PostScript ;
  • ainsi que diverses autres manipulations du PostScript ou du PDF.

gv est une interface graphique qui dispense d'utiliser ghostscript en ligne de commande. gv est utilisé pour lire à l'écran un fichier PostScript ou PDF.

ggv est l'intégration du logiciel gv dans le projet GNOME.

KGhostView est l'intégration du logiciel gv dans le projet KDE. Le logiciel KGhostView est contenu dans le paquetage kdegraphics.

Un débordement de variable dans le programme gv (versions 3.5.8 et inférieures) permet à un utilisateur mal intentioné de construire un fichier PDF ou PostScript et inciter un utilisateur naïf à le visualiser avec gv. Ce fichier astucieusement construit, lors de sa visualisation par le biais des versions vulnérables de gv, exécute un code choisi par l'utilisateur mal intentionné.

ggv étant un développement basé sur gv, les versions de ggv antérieures à 1.0.2 sont vulnérables à ce débordement de variables.

KGhostView est aussi basé sur gv. Les versions non corrigées antérieures à la version 3.0.4 de kdegraphics sont vulnérables.

4.2 Suis-je vulnérable ?

Pour déterminer la version de gv, il suffit d'entrer la commande suivante dans un terminal :

$ gv -v
gv 3.5.8
$

Ici la version de gv est vulnérable.

$ ggv --version
Gnome gnome-ghostview 1.1.96
$

Cette version de ggv n'est pas vulnérable.

$ kghostview -v
Qt: 2.3.1
KDE: 2.2.2
KGhostView 0.12
$

Cette version de KGhostView est vulnérable.

Solution

Si vous utilisez ggv, assurez-vous qu'il s'agit d'une version récente de ggv (version supérieure à 1.0.2), si besoin, mettre à jour ggv.

Si vous utilisez KDE, mettez à jour KGhostView. Des patches sont disponibles sur le site ftp du projet KDE, pour les versions 2.2.2 et 3.0.3 de KDE. Une autre solution est d'utiliser une version récente de kdegraphics. La version 3.0.4 corrige cette vulnérabilité.

Certains vendeurs proposent des correctifs pour cette vulnérabilité, par exemple :

Mandrake
http://www.mandrakesecure.net/en/advisories/2002/MDKSA-2002-069.php
http://www.mandrakesecure.net/en/advisories/2002/MDKSA-2002-071.php
RedHat
https://rhn.redhat.com/errata/RHSA-2002-207.html
SUN Linux
http://sunsolve.Sun.COM/pub-cgi/retrieve.pl?doc=fsalert%2F47780&zone_32=category%3Asecurity
Debian
http://www.debian.org/security

Documentation