Skip to content

Commit d156ae7

Browse files
author
Flurb
committed
Removed security issue
Signed-off-by: Flurb <[email protected]>
1 parent 0719bba commit d156ae7

File tree

1 file changed

+11
-1
lines changed
  • validator/src/main/java/org/lfenergy/compas/scl/validator/xsd

1 file changed

+11
-1
lines changed

validator/src/main/java/org/lfenergy/compas/scl/validator/xsd/SclInfo.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
import org.lfenergy.compas.scl.validator.exception.SclValidatorException;
77

8+
import javax.xml.XMLConstants;
89
import javax.xml.stream.XMLInputFactory;
910
import javax.xml.stream.XMLStreamException;
1011
import javax.xml.stream.events.StartElement;
@@ -26,7 +27,7 @@ public class SclInfo {
2627

2728
public SclInfo(String sclData) {
2829
try (var fis = new ByteArrayInputStream(sclData.getBytes(StandardCharsets.UTF_8))) {
29-
var xmlInputFactory = XMLInputFactory.newInstance();
30+
var xmlInputFactory = getXMLInputFactory();
3031
var reader = xmlInputFactory.createXMLEventReader(fis);
3132

3233
while (reader.hasNext()) {
@@ -62,4 +63,13 @@ public String getRevision() {
6263
public String getRelease() {
6364
return release;
6465
}
66+
67+
private XMLInputFactory getXMLInputFactory() {
68+
var xmlInputFactory = XMLInputFactory.newInstance();
69+
xmlInputFactory.setProperty(XMLInputFactory.SUPPORT_DTD, false);
70+
xmlInputFactory.setProperty(XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES, Boolean.FALSE);
71+
xmlInputFactory.setProperty(XMLConstants.ACCESS_EXTERNAL_DTD, "");
72+
xmlInputFactory.setProperty(XMLConstants.ACCESS_EXTERNAL_SCHEMA, "");
73+
return xmlInputFactory;
74+
}
6575
}

0 commit comments

Comments
 (0)