
CVE-2019-13288 분석 리포지토리: 취약한 파싱 로직을 재현, 분석 및 패치하기 위해 Xpdf PDF 파서 소스와 문서를 함께 제공합니다.
버전 4.02 2019년 9월 25일
Xpdf 소프트웨어와 문서의 저작권은 1996-2019 Glyph & Cog, LLC에 있습니다.
이메일: [email protected] WWW: http://www.xpdfreader.com/
PDF 데이터 구조, 연산자 및 명세는 ISO 32000-2:2017에 문서화되어 있습니다.
Xpdf는 Portable Document Format(PDF) 파일을 위한 오픈 소스 뷰어입니다. (이러한 파일은 Adobe의 PDF 소프트웨어 이름을 따서 'Acrobat' 파일이라고도 불리기도 합니다.) Xpdf 프로젝트에는 PDF 텍스트 추출기, PDF-to-PostScript 변환기 및 기타 여러 유틸리티도 포함되어 있습니다.
Xpdf 뷰어는 Qt 크로스 플랫폼 GUI 툴킷을 사용합니다. 다른 명령줄 유틸리티들은 Qt가 필요하지 않습니다.
Xpdf는 GNU General Public License(GPL) 버전 2 또는 3에 따라 라이선스가 부여됩니다. 이는 Xpdf의 파생물을 다음 중 어느 것으로든 배포할 수 있음을 의미합니다:
Xpdf 소스 패키지에는 두 GPL 버전의 텍스트가 모두 포함되어 있습니다: GPL v2의 경우 COPYING, GPL v3의 경우 COPYING3.
Xpdf는 GPL의 "이후 버전"에 따라 라이선스가 부여되지 않는다는 점을 유의하시기 바랍니다. 해당 버전들이 어떤 모습일지 전혀 알 수 없기 때문입니다.
수정되지 않은 Xpdf 사본(또는 Xpdf 도구 중 어느 것이든)을 바이너리 형태로 재배포하는 경우, 모든 문서(README, man 페이지(또는 도움말 파일), COPYING, COPYING3)를 포함해야 합니다.
Xpdf 소스 코드를 다른 프로그램에 통합하려는 경우(또는 Xpdf의 수정된 버전을 만들려는 경우) 그리고 해당 프로그램을 배포하는 경우, 두 가지 선택지가 있습니다: 프로그램을 GPL(v2 및/또는 v3)에 따라 배포하거나, 상용 Xpdf 소스 라이선스를 구매하는 것입니다.
상용 라이선스에 관심이 있으시면 Glyph & Cog 웹 사이트를 참조하십시오:
http://www.glyphandcog.com/
Xpdf는 Qt 툴킷을 사용하며 Linux, Windows 및 OS X에서 실행됩니다 -- 그리고 아마도 Qt 포트가 있는 다른 시스템에서도 실행될 것입니다.
GUI가 아닌 명령줄 유틸리티(pdftops, pdftotext, pdftohtml, pdfinfo, pdffonts, pdfdetach, pdftoppm, pdftopng 및 pdfimages)는 Linux, Windows 및 OS X에서 실행됩니다 -- 그리고 적절한 C++ 컴파일러가 있는 거의 모든 시스템에서 실행될 것입니다.
웹 페이지에 나열되지 않은 시스템용으로 Xpdf를 컴파일하는 경우, 저에게 알려주십시오. 바이너리를 ftp 또는 웹에서 사용할 수 있도록 기꺼이 제공하신다면, Xpdf 웹 페이지에서 링크를 추가해 드리겠습니다. 저는 (디스크 공간 및 지원상의 이유로) 제가 직접 컴파일하지 않은 바이너리는 호스팅하지 않기로 결정했습니다.
시스템에서 Xpdf를 컴파일할 수 없는 경우, 저에게 이메일을 보내주시면 도와드리도록 노력하겠습니다.
최신 버전은 다음에서 구할 수 있습니다:
소스 코드와 여러 미리 컴파일된 실행 파일을 사용할 수 있습니다.
새 버전에 대한 공지사항은 comp.text.pdf에 게시되고 사람들의 메일링 리스트로 이메일로 발송됩니다. 새 버전에 대한 이메일 알림을 받고 싶으시면 저에게 알려주십시오.
xpdf를 실행하려면 간단히 다음을 입력하십시오:
xpdf file.pdf
PostScript 파일을 생성하려면 pdftops를 실행하십시오:
pdftops file.pdf
일반 텍스트 파일을 생성하려면 pdftotext를 실행하십시오:
pdftotext file.pdf
몇 가지 추가 유틸리티가 있습니다(각각의 man 페이지에 자세히 설명되어 있습니다):
pdftohtml -- PDF 파일을 HTML로 변환합니다 pdfinfo -- PDF 파일의 Info 딕셔너리를 덤프합니다(더불어 몇 가지 유용한 정보) pdffonts -- PDF 파일에서 사용된 글꼴을 각 글꼴에 대한 다양한 정보와 함께 나열합니다 pdfdetach -- PDF 파일에서 포함된 파일(첨부 파일)을 나열하거나 추출합니다 pdftoppm -- PDF 파일을 일련의 PPM/PGM/PBM 형식 비트맵으로 변환합니다 pdftopng -- PDF 파일을 일련의 PNG 이미지 파일로 변환합니다 pdfimages -- PDF 파일에서 이미지를 추출합니다
명령줄 옵션과 기타 많은 세부 사항은 man 페이지(xpdf(1) 등)에 설명되어 있습니다.
이 모든 유틸리티는 선택적 구성 파일을 읽습니다: xpdfrc(5) 매뉴얼 페이지를 참조하십시오.
별도의 파일 INSTALL을 참조하십시오.
Xpdf에서 버그를 발견한 경우, 즉 오류 메시지가 출력되거나, 충돌이 발생하거나, 문서가 잘못 표시되는데 여기에 해당 버그가 나열되어 있지 않다면, PDF 파일을 가리키는 포인터(URL, ftp 사이트 등)와 함께 저에게 이메일을 보내주십시오.
Xpdf는 다음 라이브러리를 사용합니다:
다음 분들께 감사드립니다:
pdftex 프로젝트에서 사용하기 위해 이루어진 수정 사항에 기여해 주신 여러 분들:
Adobe Systems Inc., PostScript Language Reference, 3rd ed. Addison-Wesley, 1999, ISBN 0-201-37922-8. [공식 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는 PostScript 파일에 TrueType 폰트를 임베드할 때 사용되는 형식입니다.]
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 [일본어 및 중국어 폰트 지원에 필요한 CMap 파일 형식.]
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 [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 [Adobe 중국어 GB(간체) 문자 집합.]
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 [Adobe 중국어 CNS(번체) 문자 집합.]
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 [DCTDecode 필터 매개변수에 대한 설명.]
Adobe Systems Inc., Open Prepress Interface (OPI) Specification - Version 2.0, Adobe Developer Support Technical Note #5660. 2000. http://partners.adobe.com/asn/developer/PDFS/TN/5660.OPI_2.0.pdf
Adobe Systems Inc., CMap 파일. ftp://ftp.oreilly.com/pub/examples/nutshell/cjkv/adobe/ [16비트 CJK 인코딩용 실제 CMap 파일.]
Adobe Systems Inc., 유니코드 글리프 목록. http://partners.adobe.com/asn/developer/type/unicodegn.html http://partners.adobe.com/asn/developer/type/glyphlist.txt http://partners.adobe.com/asn/developer/type/corporateuse.txt http://partners.adobe.com/asn/developer/type/zapfdingbats.txt [문자 이름과 유니코드 간의 매핑.]
Adobe Systems Inc., OpenType 명세 v. 1.4. http://partners.adobe.com/public/developer/opentype/index_spec.html [OpenType 폰트 형식 명세.]
Aldus Corp., OPI: Open Prepress Interface Specification 1.3. 1993. http://partners.adobe.com/asn/developer/PDFS/TN/OPI_13.pdf
익명, RC4 소스 코드. ftp://ftp.ox.ac.uk/pub/crypto/misc/rc4.tar.gz ftp://idea.sec.dsi.unimi.it/pub/crypt/code/rc4.tar.gz [PDF 파일을 암호화하는 데 사용되는 알고리즘.]
T. Boutell, et al., "PNG (Portable Network Graphics) Specification, Version 1.0". RFC 2083. [PDF는 PNG 필터 알고리즘을 사용한다.]
CCITT, "Information Technology - Digital Compression and Coding of Continuous-tone Still Images - Requirements and Guidelines", CCITT Recommendation T.81. http://www.w3.org/Graphics/JPEG/ [공식 JPEG 명세.]
A. Chernov, "Registration of a Cyrillic Character Set". RFC 1489. [KOI8-R 키릴 문자 인코딩에 대한 문서.]
Roman Czyborra, "The ISO 8859 Alphabet Soup". http://czyborra.com/charsets/iso8859.html [다양한 ISO 859 인코딩에 대한 문서.]
L. Peter Deutsch, "ZLIB Compressed Data Format Specification version 3.3". RFC 1950. [FlateDecode 스트림에 사용되는 일반 형식에 대한 정보.]
L. Peter Deutsch, "DEFLATE Compressed Data Format Specification version 1.3". RFC 1951. [FlateDecode 스트림에 사용되는 압축 알고리즘의 정의.]
Morris Dworkin, "Recommendation for Block Cipher Modes of Operation", National Institute of Standards, NIST Special Publication 800-38A, 2001. [PDF 파일에서 AES와 함께 사용되는 암호 블록 체이닝(CBC) 모드.]
Federal Information Processing Standards Publication 197 (FIPS PUBS 197), "Advanced Encryption Standard (AES)", November 26, 2001. [PDF 1.6에서 사용되는 AES 암호화.]
Jim Flowers, "X Logical Font Description Conventions", Version 1.5, X Consortium Standard, X Version 11, Release 6.1. ftp://ftp.x.org/pub/R6.1/xc/doc/hardcopy/XLFD/xlfd.PS.Z [폰트 변환 행렬을 포함한 X 폰트 디스크립터의 공식 명세.]