[ 
https://issues.apache.org/jira/browse/PDFBOX-5401?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17512489#comment-17512489
 ] 

Michael Klink commented on PDFBOX-5401:
---------------------------------------

Indeed, there is an inconsistency in 
{{org.apache.pdfbox.pdfparser.COSParser.parseXref(long)}}, in the {{prevSet}} 
the _actual_ start positions of the cross reference tables are stored but the 
tests to prevent recursions are done by checking the _claimed_ start positions 
(the *Prev* values).

> A carefully crafted pdf can trigger an infinite loop while parsing
> ------------------------------------------------------------------
>
>                 Key: PDFBOX-5401
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-5401
>             Project: PDFBox
>          Issue Type: Bug
>          Components: Parsing, PDModel
>    Affects Versions: 3.0.0 PDFBox
>         Environment: Mac OS 12.1 & Ubuntu Linux 16.04 (4.15.0-163-generic)
>            Reporter: Xiaohan Zhang
>            Priority: Major
>         Attachments: verified.zip
>
>
> Hi, I found a crafted pdf that can trigger an infinite loop while parsing 
> using PDFBOX. I have tested on the latest commit of PDFBOX on Github.
>  
> This bug can be triggered by the following code.
> ```
> File ff = new File("path/to/the/sample");
> PDDocument document = Loader.loadPDF(ff);
> ```
>  
> I found that the root cause of this infinite loop resides in the while-loop 
> at line 321 of  [COSParse.java|#L321].]. When parsing the provided PDF files, 
> the variable $prev is never changed during this loop.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to