Skip to content

Commit b10bc8d

Browse files
Merge pull request #180 from splunk/DVPL-7631
External Entities restricted in XML factory.
2 parents 9af4c72 + 7cd0e88 commit b10bc8d

File tree

3 files changed

+12
-0
lines changed

3 files changed

+12
-0
lines changed

splunk/src/main/java/com/splunk/Xml.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,10 @@ public static Document parse(InputStream input, boolean silent) {
5252
try {
5353
DocumentBuilderFactory factory =
5454
DocumentBuilderFactory.newInstance();
55+
factory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
56+
factory.setExpandEntityReferences(false);
57+
factory.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
58+
factory.setFeature("http://xml.org/sax/features/external-general-entities", false);
5559
factory.setNamespaceAware(false);
5660
DocumentBuilder builder = factory.newDocumentBuilder();
5761
if (silent)

splunk/src/main/java/com/splunk/modularinput/InputDefinition.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,10 @@ public static InputDefinition parseDefinition(InputStream stream) throws ParserC
175175
IOException, SAXException, MalformedDataException {
176176
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
177177
documentBuilderFactory.setIgnoringElementContentWhitespace(true);
178+
documentBuilderFactory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
179+
documentBuilderFactory.setExpandEntityReferences(false);
180+
documentBuilderFactory.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
181+
documentBuilderFactory.setFeature("http://xml.org/sax/features/external-general-entities", false);
178182
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
179183
Document doc = documentBuilder.parse(stream);
180184

splunk/src/main/java/com/splunk/modularinput/ValidationDefinition.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,10 @@ public static ValidationDefinition parseDefinition(InputStream stream) throws Pa
194194
IOException, SAXException, MalformedDataException {
195195
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
196196
documentBuilderFactory.setIgnoringElementContentWhitespace(true);
197+
documentBuilderFactory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
198+
documentBuilderFactory.setExpandEntityReferences(false);
199+
documentBuilderFactory.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
200+
documentBuilderFactory.setFeature("http://xml.org/sax/features/external-general-entities", false);
197201
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
198202
Document doc = documentBuilder.parse(stream);
199203

0 commit comments

Comments
 (0)