Robin Schimpf created PDFBOX-4452:
-------------------------------------
Summary: ClassCastException in PDPageTree
Key: PDFBOX-4452
URL: https://issues.apache.org/jira/browse/PDFBOX-4452
Project: PDFBox
Issue Type: Bug
Affects Versions: 2.0.13
Reporter: Robin Schimpf
Attachments: ClassCastException COSInteger instead of COSDictionary,
ClassCastException COSString instead of COSDictionary
Fuzzing PDF merging with JQF triggered an ClassCastException. The attached file
is merged with itself.
{code:java}
java.lang.ClassCastException: org.apache.pdfbox.cos.COSInteger cannot be cast
to org.apache.pdfbox.cos.COSDictionary
at org.apache.pdfbox.pdmodel.PDPageTree.getKids(PDPageTree.java:144)
at org.apache.pdfbox.pdmodel.PDPageTree.access$200(PDPageTree.java:38)
at
org.apache.pdfbox.pdmodel.PDPageTree$PageIterator.enqueueKids(PDPageTree.java:166)
at
org.apache.pdfbox.pdmodel.PDPageTree$PageIterator.<init>(PDPageTree.java:159)
at
org.apache.pdfbox.pdmodel.PDPageTree$PageIterator.<init>(PDPageTree.java:153)
at org.apache.pdfbox.pdmodel.PDPageTree.iterator(PDPageTree.java:123)
at
org.apache.pdfbox.multipdf.PDFMergerUtility.appendDocument(PDFMergerUtility.java:737)
at
org.apache.pdfbox.multipdf.PDFMergerUtility.legacyMergeDocuments(PDFMergerUtility.java:390)
at
org.apache.pdfbox.multipdf.PDFMergerUtility.mergeDocuments(PDFMergerUtility.java:276)
...
{code}
The Code used for fuzzing is
{code:java}
try (OutputStream out = new ByteArrayOutputStream()) {
PDFMergerUtility pdfMergerUtility = new PDFMergerUtility();
pdfMergerUtility.addSource(file);
pdfMergerUtility.addSource(file);
pdfMergerUtility.setDestinationStream(out);
pdfMergerUtility.mergeDocuments(MemoryUsageSetting.setupMainMemoryOnly());
}
{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]