
Repositorio de análisis de CVE-2019-13288: incluye el código fuente del analizador de PDF Xpdf y documentación para reproducir, analizar y parchear la lógica de análisis vulnerable.
versión 4.02 25-sep-2019
El software y la documentación de Xpdf son copyright 1996-2019 Glyph & Cog, LLC.
Correo electrónico: [email protected] WWW: http://www.xpdfreader.com/
Las estructuras de datos, los operadores y la especificación de PDF están documentados en ISO 32000-2:2017.
Xpdf es un visor de código abierto para archivos en formato Portable Document Format (PDF). (Estos archivos a veces también se denominan archivos 'Acrobat', por el nombre del software PDF de Adobe). El proyecto Xpdf también incluye un extractor de texto PDF, un conversor de PDF a PostScript y otras utilidades diversas.
El visor Xpdf utiliza el conjunto de herramientas GUI multiplataforma Qt. Las demás utilidades de línea de comandos no requieren Qt.
Xpdf está licenciado bajo la GNU General Public License (GPL), versión 2 o 3. Esto significa que puedes distribuir derivados de Xpdf bajo cualquiera de las siguientes:
El paquete de código fuente de Xpdf incluye el texto de ambas versiones de la GPL: COPYING para GPL v2, COPYING3 para GPL v3.
Ten en cuenta que Xpdf NO está licenciado bajo "cualquier versión posterior" de la GPL, ya que no tengo idea de cómo serán esas versiones.
Si redistribuyes copias sin modificar de Xpdf (o de cualquiera de las herramientas de Xpdf) en forma binaria, debes incluir toda la documentación: README, páginas de manual (o archivos de ayuda), COPYING y COPYING3.
Si quieres incorporar el código fuente de Xpdf a otro programa (o crear una versión modificada de Xpdf), y distribuyes ese programa, tienes dos opciones: publicar tu programa bajo la GPL (v2 y/o v3), o comprar una licencia comercial del código fuente de Xpdf.
Si te interesa la licencia comercial, consulta el sitio web de Glyph & Cog:
http://www.glyphandcog.com/
Xpdf utiliza el conjunto de herramientas Qt y se ejecuta en Linux, Windows y OS X -- y probablemente en otros sistemas que tengan un port de Qt.
Las utilidades de línea de comandos sin GUI (pdftops, pdftotext, pdftohtml, pdfinfo, pdffonts, pdfdetach, pdftoppm, pdftopng y pdfimages) se ejecutan en Linux, Windows y OS X -- y deberían ejecutarse en prácticamente cualquier sistema con un compilador de C++ decente.
Si compilas Xpdf para un sistema que no aparece en la página web, házmelo saber. Si estás dispuesto a poner tu binario a disposición por ftp o en la web, estaré encantado de añadir un enlace desde la página web de Xpdf. He decidido no alojar ningún binario que no haya compilado yo mismo (por razones de espacio en disco y de soporte).
Si no consigues compilar Xpdf en tu sistema, envíame un correo electrónico y intentaré ayudarte.
La última versión está disponible en:
Hay disponibles código fuente y varios ejecutables precompilados.
Los anuncios de nuevas versiones se publican en comp.text.pdf y se envían por correo electrónico a una lista de personas. Si quieres recibir notificaciones por correo electrónico de las nuevas versiones, solo tienes que avisarme.
Para ejecutar xpdf, simplemente escribe:
xpdf archivo.pdf
Para generar un archivo PostScript, ejecute pdftops:
pdftops archivo.pdf
Para generar un archivo de texto sin formato, ejecuta pdftotext:
pdftotext archivo.pdf
Hay varias utilidades adicionales (que se describen completamente en sus páginas de manual):
pdftohtml -- convierte un archivo PDF a HTML pdfinfo -- vuelca el diccionario Info de un archivo PDF (además de otra información útil) pdffonts -- lista las fuentes usadas en un archivo PDF junto con diversa información para cada fuente pdfdetach -- lista o extrae archivos incrustados (adjuntos) de un archivo PDF pdftoppm -- convierte un archivo PDF en una serie de mapas de bits en formato PPM/PGM/PBM pdftopng -- convierte un archivo PDF en una serie de archivos de imagen PNG pdfimages -- extrae las imágenes de un archivo PDF
Las opciones de línea de comandos y muchos otros detalles se describen en las páginas de manual: xpdf(1), etc.
Todas estas utilidades leen un archivo de configuración opcional: consulte la página de manual xpdfrc(5).
Consulte el archivo aparte, INSTALL.
Si encuentras un error en Xpdf, es decir, si imprime un mensaje de error, se bloquea o muestra un documento incorrectamente, y no ves ese error listado aquí, por favor envíame un correo electrónico, con un puntero (URL, sitio ftp, etc.) al archivo PDF.
Xpdf utiliza las siguientes bibliotecas:
Gracias a:
Varias personas han contribuido con modificaciones realizadas para su uso por el proyecto pdftex:
Adobe Systems Inc., PostScript Language Reference, 3rd ed. Addison-Wesley, 1999, ISBN 0-201-37922-8. [El manual oficial de 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 es el formato utilizado para incrustar fuentes TrueType en archivos 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 [Formato de archivo CMap necesario para el soporte de fuentes japonesas y chinas.]
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 [El conjunto de caracteres japonés de 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 [El conjunto de caracteres chino GB (simplificado) de Adobe.]
Adobe Systems, Inc., Adobe-CNS1-3 Character Collection for CID-Keyed Fonts, Adobe Developer Support Technical Note #5080. 2000. http://partners.adobe.com/asn/developer/PDFS/TN/5080.CNS_CharColl.pdf [El conjunto de caracteres chino CNS (tradicional) de Adobe.]