
Dépôt d'analyse CVE-2019-13288 : regroupe le code source du parseur PDF Xpdf et sa documentation afin de reproduire, analyser et corriger la logique de parsing vulnérable.
version 4.02 2019-sep-25
Le logiciel et la documentation Xpdf sont copyright 1996-2019 Glyph & Cog, LLC.
Courriel : [email protected] WWW : http://www.xpdfreader.com/
Les structures de données, les opérateurs et la spécification PDF sont documentés dans ISO 32000-2:2017.
Xpdf est une visionneuse open source pour les fichiers Portable Document Format (PDF). (Ces fichiers sont aussi parfois appelés fichiers 'Acrobat', d'après le nom du logiciel PDF d'Adobe.) Le projet Xpdf inclut également un extracteur de texte PDF, un convertisseur PDF-vers-PostScript, et divers autres utilitaires.
La visionneuse Xpdf utilise la boîte à outils GUI multiplateforme Qt. Les autres utilitaires en ligne de commande ne nécessitent pas Qt.
Xpdf est distribué sous la licence GNU General Public License (GPL), version 2 ou 3. Cela signifie que vous pouvez distribuer des dérivés de Xpdf sous l'une des licences suivantes :
Le paquet source Xpdf inclut le texte des deux versions de la GPL : COPYING pour la GPL v2, COPYING3 pour la GPL v3.
Veuillez noter que Xpdf n'est PAS distribué sous « toute version ultérieure » de la GPL, car je n'ai aucune idée de ce à quoi ces versions ressembleront.
Si vous redistribuez des copies non modifiées de Xpdf (ou de l'un des outils Xpdf) sous forme binaire, vous devez inclure l'ensemble de la documentation : README, pages de manuel (ou fichiers d'aide), COPYING et COPYING3.
Si vous souhaitez intégrer le code source de Xpdf dans un autre programme (ou créer une version modifiée de Xpdf), et que vous distribuez ce programme, vous avez deux options : publier votre programme sous la GPL (v2 et/ou v3), ou acheter une licence commerciale du code source Xpdf.
Si la licence commerciale vous intéresse, veuillez consulter le site web de Glyph & Cog :
http://www.glyphandcog.com/
Xpdf utilise la boîte à outils Qt et fonctionne sous Linux, Windows et OS X -- et probablement d'autres systèmes disposant d'un portage de Qt.
Les utilitaires en ligne de commande sans interface graphique (pdftops, pdftotext, pdftohtml, pdfinfo, pdffonts, pdfdetach, pdftoppm, pdftopng et pdfimages) fonctionnent sous Linux, Windows et OS X -- et devraient fonctionner sur à peu près n'importe quel système disposant d'un compilateur C++ correct.
Si vous compilez Xpdf pour un système non listé sur la page web, veuillez me le faire savoir. Si vous êtes prêt à rendre votre binaire disponible par ftp ou sur le web, je serai heureux d'ajouter un lien depuis la page web de Xpdf. J'ai décidé de ne pas héberger de binaires que je n'ai pas compilés moi-même (pour des raisons d'espace disque et de support).
Si vous n'arrivez pas à compiler Xpdf sur votre système, envoyez-moi un courriel et j'essaierai de vous aider.
La dernière version est disponible à l'adresse :
Le code source et plusieurs exécutables précompilés sont disponibles.
Les annonces de nouvelles versions sont publiées sur comp.text.pdf et envoyées par courriel à une liste de personnes. Si vous souhaitez recevoir une notification par courriel des nouvelles versions, faites-le moi simplement savoir.
Pour lancer xpdf, tapez simplement :
xpdf file.pdf
Pour générer un fichier PostScript, exécutez pdftops :
pdftops file.pdf
Pour générer un fichier texte brut, exécutez pdftotext :
pdftotext file.pdf
Il existe plusieurs utilitaires supplémentaires (qui sont entièrement décrits dans leurs pages de manuel) :
pdftohtml -- convertit un fichier PDF en HTML pdfinfo -- affiche le dictionnaire Info d'un fichier PDF (plus quelques autres informations utiles) pdffonts -- liste les polices utilisées dans un fichier PDF ainsi que diverses informations pour chaque police pdfdetach -- liste ou extrait les fichiers intégrés (pièces jointes) d'un fichier PDF pdftoppm -- convertit un fichier PDF en une série d'images bitmap aux formats PPM/PGM/PBM pdftopng -- convertit un fichier PDF en une série de fichiers image PNG pdfimages -- extrait les images d'un fichier PDF
Les options de ligne de commande et de nombreux autres détails sont décrits dans les pages de manuel : xpdf(1), etc.
Tous ces utilitaires lisent un fichier de configuration facultatif : voir la page de manuel xpdfrc(5).
Voir le fichier séparé, INSTALL.
Si vous trouvez un bug dans Xpdf, c'est-à-dire s'il affiche un message d'erreur, plante, ou affiche incorrectement un document, et que vous ne voyez pas ce bug listé ici, veuillez m'envoyer un email, avec un pointeur (URL, site ftp, etc.) vers le fichier PDF.
Xpdf utilise les bibliothèques suivantes :
Merci à :
Diverses personnes ont contribué à des modifications apportées pour une utilisation par le projet pdftex :
Adobe Systems Inc., PostScript Language Reference, 3e éd. Addison-Wesley, 1999, ISBN 0-201-37922-8. [Le manuel officiel PostScript.]
Adobe Systems, Inc., The Type 42 Font Format Specification, Adobe Developer Support Technical Specification #5012. 1998. http://partners.adobe.com/asn/developer/pdfs/tn/5012.Type42_Spec.pdf [Type 42 est le format utilisé pour intégrer des polices TrueType dans des fichiers PostScript.]
Adobe Systems, Inc., Adobe CMap and CIDFont Files Specification, Adobe Developer Support Technical Specification #5014. 1995. http://www.adobe.com/supportservice/devrelations/PDFS/TN/5014.CIDFont_Spec.pdf [Format de fichier CMap nécessaire pour le support des polices japonaises et chinoises.]
Adobe Systems, Inc., Adobe-Japan1-4 Character Collection for CID-Keyed Fonts, Adobe Developer Support Technical Note #5078. 2000. http://partners.adobe.com/asn/developer/PDFS/TN/5078.CID_Glyph.pdf [Le jeu de caractères japonais Adobe.]
Adobe Systems, Inc., Adobe-GB1-4 Character Collection for CID-Keyed Fonts, Adobe Developer Support Technical Note #5079. 2000. http://partners.adobe.com/asn/developer/pdfs/tn/5079.Adobe-GB1-4.pdf [Le jeu de caractères chinois GB (simplifié) Adobe.]