
Repository di analisi CVE-2019-13288: include il codice sorgente del parser PDF Xpdf e la documentazione per riprodurre, analizzare e correggere la logica di parsing vulnerabile.
versione 4.02 25-set-2019
Il software e la documentazione di Xpdf sono copyright 1996-2019 Glyph & Cog, LLC.
Email: [email protected] WWW: http://www.xpdfreader.com/
Le strutture dati, gli operatori e le specifiche PDF sono documentati in ISO 32000-2:2017.
Xpdf è un visualizzatore open source per file in formato Portable Document Format (PDF). (Questi sono talvolta chiamati anche file 'Acrobat', dal nome del software PDF di Adobe.) Il progetto Xpdf include anche un estrattore di testo PDF, un convertitore da PDF a PostScript e varie altre utilità.
Il visualizzatore Xpdf utilizza il toolkit GUI multipiattaforma Qt. Le altre utilità da riga di comando non richiedono Qt.
Xpdf è distribuito con licenza GNU General Public License (GPL), versione 2 o 3. Ciò significa che puoi distribuire derivati di Xpdf secondo una delle seguenti opzioni:
Il pacchetto sorgente di Xpdf include il testo di entrambe le versioni della GPL: COPYING per la GPL v2, COPYING3 per la GPL v3.
Si prega di notare che Xpdf NON è distribuito con licenza "qualsiasi versione successiva" della GPL, poiché non ho idea di come saranno quelle versioni.
Se stai ridistribuendo copie non modificate di Xpdf (o di uno qualsiasi degli strumenti Xpdf) in forma binaria, devi includere tutta la documentazione: README, pagine man (o file di aiuto), COPYING e COPYING3.
Se vuoi incorporare il codice sorgente di Xpdf in un altro programma (o creare una versione modificata di Xpdf), e stai distribuendo quel programma, hai due opzioni: rilasciare il tuo programma con la GPL (v2 e/o v3), oppure acquistare una licenza commerciale del codice sorgente di Xpdf.
Se sei interessato alla licenza commerciale, consulta il sito web di Glyph & Cog:
http://www.glyphandcog.com/
Xpdf utilizza il toolkit Qt e funziona su Linux, Windows e OS X -- e probabilmente su altri sistemi che dispongono di un port di Qt.
Le utilità da riga di comando senza GUI (pdftops, pdftotext, pdftohtml, pdfinfo, pdffonts, pdfdetach, pdftoppm, pdftopng e pdfimages) funzionano su Linux, Windows e OS X -- e dovrebbero funzionare praticamente su qualsiasi sistema con un compilatore C++ decente.
Se compili Xpdf per un sistema non elencato nella pagina web, fammelo sapere. Se sei disposto a rendere disponibile il tuo binario via ftp o sul web, sarò felice di aggiungere un link dalla pagina web di Xpdf. Ho deciso di non ospitare binari che non ho compilato io stesso (per motivi di spazio su disco e di supporto).
Se non riesci a compilare Xpdf sul tuo sistema, mandami un'email e cercherò di aiutarti.
La versione più recente è disponibile su:
Sono disponibili il codice sorgente e diversi eseguibili precompilati.
Gli annunci delle nuove versioni vengono pubblicati su comp.text.pdf e inviati via email a una lista di persone. Se desideri ricevere notifiche via email delle nuove versioni, fammelo sapere.
Per eseguire xpdf, digita semplicemente:
xpdf file.pdf
Per generare un file PostScript, esegui pdftops:
pdftops file.pdf
Per generare un file di testo semplice, esegui pdftotext:
pdftotext file.pdf
Ci sono diverse utilità aggiuntive (che sono descritte in dettaglio nelle loro pagine man):
pdftohtml -- converte un file PDF in HTML pdfinfo -- mostra il dizionario Info di un file PDF (più alcune altre informazioni utili) pdffonts -- elenca i font utilizzati in un file PDF insieme a varie informazioni per ciascun font pdfdetach -- elenca o estrae i file incorporati (allegati) da un file PDF pdftoppm -- converte un file PDF in una serie di bitmap in formato PPM/PGM/PBM pdftopng -- converte un file PDF in una serie di file immagine PNG pdfimages -- estrae le immagini da un file PDF
Le opzioni da riga di comando e molti altri dettagli sono descritti nelle pagine man: xpdf(1), ecc.
Tutte queste utilità leggono un file di configurazione opzionale: vedere la pagina man xpdfrc(5).
Vedere il file separato, INSTALL.
Se trovi un bug in Xpdf, cioè se stampa un messaggio di errore, va in crash o visualizza un documento in modo errato, e non vedi quel bug elencato qui, inviami un'email con un riferimento (URL, sito ftp, ecc.) al file PDF.
Xpdf utilizza le seguenti librerie:
Grazie a:
Varie persone hanno contribuito con modifiche apportate per l'uso da parte del progetto pdftex:
Adobe Systems Inc., PostScript Language Reference, 3ª ed. Addison-Wesley, 1999, ISBN 0-201-37922-8. [Il manuale ufficiale di 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 è il formato utilizzato per incorporare i font TrueType nei file 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 di file CMap necessario per il supporto dei font giapponesi e cinesi.]
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 [Il set di caratteri giapponese 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 [Il set di caratteri cinese GB (semplificato) 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 [Il set di caratteri cinese CNS (tradizionale) Adobe.]
Adobe Systems Inc., Supporting the DCT Filters in PostScript Level 2, Adobe Developer Support Technical Note #5116. 1992. http://www.adobe.com/supportservice/devrelations/PDFS/TN/5116.PS2_DCT.PDF [Descrizione dei parametri del filtro DCTDecode.]