| S . G . D . S . N Agence nationale de la sécurité des systèmes d'information |
![]() |
Paris, le 4 juillet 2003 No CERTA-2003-ALE-001-001 |
Affaire suivie par :
CERTA
Objet : Vulnérabilité dans
l'implémentation des logiciels de lecture des documents
PDF
| Conditions d'utilisation de ce document : | http://www.certa.ssi.gouv.fr/certa/apropos.html |
| Dernière version de ce document : | http://www.certa.ssi.gouv.fr/site/CERTA-2003-ALE-001 |
Une gestion de version détaillée se trouve à la fin de ce document.
Exécution de commandes arbitraires.
Le format PDF est généralement présenté comme un format de document inoffensif, ce qui le rend particulièrement dangereux lorsqu'une vulnérabilité est découverte.
Une personne mal intentionnée peut fabriquer un document PDF contenant une URL astucieusement constituée qui, lorsque le lecteur choisit de la suivre, permet d'exécuter un code arbitraire en « script shell ».
Le format PDF permet dans une certaine mesure l'interactivité avec le lecteur du document. En particulier, le format permet de définir des liens (URI) dans un document. La mise en œuvre de la gestion de cette interactivité dans les logiciels de lecture des fichiers PDF peut laisser, sous certaines conditions, la possibilité d'exécuter du code malveillant avec les privilèges de la victime.
Les versions du logiciel xpdf antérieures à 2.02pl1 sont vulnérables et permettent dans certaines configurations, l'exécution de « scripts shell ».
Les versions du logiciel Acrobat Reader antérieures à 5.06 sur Unix sont aussi vulnérables.
Remarque : la vulnérabilité exploite des possibilités du langage de commandes d'Unix (le shell). Elle n'est donc pas spécifique à une architecture particulière (microprocesseur, bibliothèque partagée, noyau, ...). Le fait que le code exécuté soit du script plutôt que du code assembleur rend cette vulnérabilité a priori très portable.
On peut détecter un document PDF exploitant cette vulnérabilité avec la commande :
$ grep -a /URI document.pdf | perl -pe 's|.*/URI \(([^)]+)\).*|$1|'
Le résultat doit être une adresse électronique et ne doit pas contenir de commande du shell.
Des correctifs sont disponibles pour Acrobat Reader et xpdf.
http://www.foolabs.com/xpdf
ftp://ftp.adobe.com/pub/adobe/acrobatreader/unix/5.x
http://www.kb.cert.org/vuls/id/200132
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2003-0434
http://rhn.redhat.com/errata/RHSA-2003-196.html
http://www.mandrakesecure.net/en/advisories/advisory.php?name=MDKSA-2003:071