Skip to content

Commit 5049e35

Browse files
committed
JIRA-49: Don't access DTDs or Schemas
1 parent 98a74c2 commit 5049e35

File tree

2 files changed

+3
-10
lines changed

2 files changed

+3
-10
lines changed

Diff for: jira-macro/jira-macro-default/pom.xml

-6
Original file line numberDiff line numberDiff line change
@@ -103,12 +103,6 @@
103103
<artifactId>xwiki-rendering-test</artifactId>
104104
<version>${rendering.version}</version>
105105
<scope>test</scope>
106-
<exclusions>
107-
<exclusion>
108-
<groupId>xerces</groupId>
109-
<artifactId>xercesImpl</artifactId>
110-
</exclusion>
111-
</exclusions>
112106
</dependency>
113107
<dependency>
114108
<groupId>com.github.tomakehurst</groupId>

Diff for: jira-macro/jira-macro-default/src/main/java/org/xwiki/contrib/jira/macro/internal/source/HTTPJIRAFetcher.java

+3-4
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
import java.net.URL;
2424

2525
import javax.inject.Singleton;
26-
import javax.xml.XMLConstants;
2726

2827
import org.apache.commons.lang3.StringUtils;
2928
import org.apache.http.HttpEntity;
@@ -134,9 +133,9 @@ private SAXBuilder createSAXBuilder()
134133
{
135134
// Note: SAXBuilder is not thread-safe which is why we're instantiating a new one every time.
136135
SAXBuilder builder = new SAXBuilder();
137-
// Note: Prevent XXE attacks
138-
builder.setProperty(XMLConstants.ACCESS_EXTERNAL_DTD, "");
139-
builder.setProperty(XMLConstants.ACCESS_EXTERNAL_SCHEMA, "");
136+
// Note: Prevent XXE attacks by disabling completely DTDs. This is possible since JIRA returns an XML content
137+
// that doesn't use a DTD.
138+
builder.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
140139
return builder;
141140
}
142141
}

0 commit comments

Comments
 (0)