aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2022-11-12 10:34:52 +0000
committerMichael Williamson <mike@zwobble.org>2022-11-12 10:34:52 +0000
commit04b7f0a28cac8ed5b43ad7f806f6d38873dbd04e (patch)
treec21f9cc91a0d6aff31f550139e54530609b6912a /src/main/java/org/zwobble
parentd2f1838b247824d93b59f9c493c5e1597c5c5ee6 (diff)
Disable external access when parsing XML
Diffstat (limited to 'src/main/java/org/zwobble')
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/xml/parsing/SimpleSax.java4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/mammoth/internal/xml/parsing/SimpleSax.java b/src/main/java/org/zwobble/mammoth/internal/xml/parsing/SimpleSax.java
index 4e1b127..6a2950d 100644
--- a/src/main/java/org/zwobble/mammoth/internal/xml/parsing/SimpleSax.java
+++ b/src/main/java/org/zwobble/mammoth/internal/xml/parsing/SimpleSax.java
@@ -7,6 +7,7 @@ import org.xml.sax.XMLReader;
import org.xml.sax.helpers.DefaultHandler;
import org.zwobble.mammoth.internal.util.PassThroughException;
+import javax.xml.XMLConstants;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
@@ -31,6 +32,9 @@ class SimpleSax {
SAXParserFactory parserFactory = SAXParserFactory.newInstance();
parserFactory.setNamespaceAware(true);
try {
+ parserFactory.setFeature("http://xml.org/sax/features/external-general-entities", false);
+ parserFactory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
+ parserFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, false);
SAXParser saxParser = parserFactory.newSAXParser();
XMLReader xmlReader = saxParser.getXMLReader();
xmlReader.setContentHandler(new DefaultHandler() {