Skip to content

Commit 949bfd7

Browse files
Secure SAXParserFactory
1 parent 615a463 commit 949bfd7

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

core/src/main/java/io/github/project/openubl/xsender/files/xml/XmlContentProvider.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,14 @@ private XmlContentProvider() {
3535
public static XmlContent getSunatDocument(InputStream is) throws ParserConfigurationException, SAXException, IOException {
3636
XmlHandler handler = new XmlHandler();
3737

38-
SAXParserFactory factory = SAXParserFactory.newInstance();
39-
factory.setFeature("http://xml.org/sax/features/external-general-entities", false);
38+
SAXParserFactory factory = SAXParserFactory.newDefaultInstance();
4039
factory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
40+
factory.setFeature("http://xml.org/sax/features/external-general-entities", false);
41+
factory.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
42+
factory.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
4143
factory.setNamespaceAware(true);
4244

4345
SAXParser parser = factory.newSAXParser();
44-
parser.getXMLReader().setFeature("http://xml.org/sax/features/external-general-entities", false);
4546
parser.parse(is, handler);
4647

4748
return handler.getModel();

0 commit comments

Comments
 (0)