From 31fd087a4895239e01d09ee68389b2a5e78c3d47 Mon Sep 17 00:00:00 2001 From: Dominik Stadler Date: Mon, 7 Aug 2023 09:42:17 +0000 Subject: [PATCH] Bug 66425: Avoid a ClassCastException found via oss-fuzz We try to avoid throwing ClassCastException, but it was possible to trigger one here with a specially crafted input-file Should fix https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=61249 git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1911501 13f79535-47bb-0310-9956-ffa450edef68 --- .../poi/xwpf/usermodel/XWPFDocument.java | 86 +++++++++--------- ...-minimized-POIFuzzer-6709287337197568.docx | Bin 0 -> 12632 bytes test-data/spreadsheet/stress.xls | Bin 40448 -> 58880 bytes 3 files changed, 45 insertions(+), 41 deletions(-) create mode 100644 test-data/document/clusterfuzz-testcase-minimized-POIFuzzer-6709287337197568.docx diff --git a/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java b/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java index 09d6a6eefe..1ddc55d98a 100644 --- a/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java +++ b/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java @@ -241,48 +241,52 @@ public class XWPFDocument extends POIXMLDocument implements Document, IBody { for (RelationPart rp : getRelationParts()) { POIXMLDocumentPart p = rp.getDocumentPart(); String relation = rp.getRelationship().getRelationshipType(); - if (relation.equals(XWPFRelation.STYLES.getRelation())) { - this.styles = (XWPFStyles) p; - this.styles.onDocumentRead(); - } else if (relation.equals(XWPFRelation.THEME.getRelation())) { - this.theme = (XWPFTheme) p; - this.theme.onDocumentRead(); - } else if (relation.equals(XWPFRelation.NUMBERING.getRelation())) { - this.numbering = (XWPFNumbering) p; - this.numbering.onDocumentRead(); - } else if (relation.equals(XWPFRelation.FOOTER.getRelation())) { - XWPFFooter footer = (XWPFFooter) p; - footers.add(footer); - footer.onDocumentRead(); - } else if (relation.equals(XWPFRelation.HEADER.getRelation())) { - XWPFHeader header = (XWPFHeader) p; - headers.add(header); - header.onDocumentRead(); - } else if (relation.equals(XWPFRelation.COMMENT.getRelation())) { - this.comments = (XWPFComments) p; - this.comments.onDocumentRead(); - } else if (relation.equals(XWPFRelation.SETTINGS.getRelation())) { - settings = (XWPFSettings) p; - settings.onDocumentRead(); - } else if (relation.equals(XWPFRelation.IMAGES.getRelation())) { - XWPFPictureData picData = (XWPFPictureData) p; - picData.onDocumentRead(); - registerPackagePictureData(picData); - pictures.add(picData); - } else if (relation.equals(XWPFRelation.CHART.getRelation())) { - //now we can use all methods to modify charts in XWPFDocument - XWPFChart chartData = (XWPFChart) p; - charts.add(chartData); - } else if (relation.equals(XWPFRelation.GLOSSARY_DOCUMENT.getRelation())) { - // We don't currently process the glossary itself - // Until we do, we do need to load the glossary child parts of it - for (POIXMLDocumentPart gp : p.getRelations()) { - // Trigger the onDocumentRead for all the child parts - // Otherwise we'll hit issues on Styles, Settings etc on save - // TODO: Refactor this to not need to access protected method - // from other package! Remove the static helper method once fixed!!! - POIXMLDocumentPart._invokeOnDocumentRead(gp); + try { + if (relation.equals(XWPFRelation.STYLES.getRelation())) { + this.styles = (XWPFStyles) p; + this.styles.onDocumentRead(); + } else if (relation.equals(XWPFRelation.THEME.getRelation())) { + this.theme = (XWPFTheme) p; + this.theme.onDocumentRead(); + } else if (relation.equals(XWPFRelation.NUMBERING.getRelation())) { + this.numbering = (XWPFNumbering) p; + this.numbering.onDocumentRead(); + } else if (relation.equals(XWPFRelation.FOOTER.getRelation())) { + XWPFFooter footer = (XWPFFooter) p; + footers.add(footer); + footer.onDocumentRead(); + } else if (relation.equals(XWPFRelation.HEADER.getRelation())) { + XWPFHeader header = (XWPFHeader) p; + headers.add(header); + header.onDocumentRead(); + } else if (relation.equals(XWPFRelation.COMMENT.getRelation())) { + this.comments = (XWPFComments) p; + this.comments.onDocumentRead(); + } else if (relation.equals(XWPFRelation.SETTINGS.getRelation())) { + settings = (XWPFSettings) p; + settings.onDocumentRead(); + } else if (relation.equals(XWPFRelation.IMAGES.getRelation())) { + XWPFPictureData picData = (XWPFPictureData) p; + picData.onDocumentRead(); + registerPackagePictureData(picData); + pictures.add(picData); + } else if (relation.equals(XWPFRelation.CHART.getRelation())) { + //now we can use all methods to modify charts in XWPFDocument + XWPFChart chartData = (XWPFChart) p; + charts.add(chartData); + } else if (relation.equals(XWPFRelation.GLOSSARY_DOCUMENT.getRelation())) { + // We don't currently process the glossary itself + // Until we do, we do need to load the glossary child parts of it + for (POIXMLDocumentPart gp : p.getRelations()) { + // Trigger the onDocumentRead for all the child parts + // Otherwise we'll hit issues on Styles, Settings etc on save + // TODO: Refactor this to not need to access protected method + // from other package! Remove the static helper method once fixed!!! + POIXMLDocumentPart._invokeOnDocumentRead(gp); + } } + } catch (ClassCastException e) { + throw new IllegalArgumentException("Relation and type of document-part did not match, had relation " + relation + " and type of document-part: " + p.getClass()); } } initHyperlinks(); diff --git a/test-data/document/clusterfuzz-testcase-minimized-POIFuzzer-6709287337197568.docx b/test-data/document/clusterfuzz-testcase-minimized-POIFuzzer-6709287337197568.docx new file mode 100644 index 0000000000000000000000000000000000000000..ff963e1ebbf28f7a5b7e495f45a4cb686805af00 GIT binary patch literal 12632 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 Au>b%7 literal 0 HcmV?d00001 diff --git a/test-data/spreadsheet/stress.xls b/test-data/spreadsheet/stress.xls index 6ad5da595b3d9e354dea7c4d0be0213cb4015842..74b0f1b5dac650a3f8000e9f2f161f27675e0933 100644 GIT binary patch literal 58880 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 s0