[ 
https://issues.apache.org/jira/browse/LUCENE-8291?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16465102#comment-16465102
 ] 

Uwe Schindler edited comment on LUCENE-8291 at 5/6/18 12:16 PM:
----------------------------------------------------------------

We will remove this class as it is not really used in Lucene and Solr, it's 
just a convenience class.

In fact it's not really a security issue, because it is just a way for an 
application to use template XML files for the XML query parser where properties 
can be replaced. The XML file is not intended to be loaded from untrusted 
sources. Anybody doing this has misunderstood the whole class anyways and will 
fail to use it. So this looks like just an issue reported by some automated 
code safety testing tool.

For the template manager the use case is: You have an XML/XSL file as a query 
template in your resources folder and you use properties to replace the 
property placeholders in the XML before passing to XML query parser. If used 
correctly there is never any external possibility to inject XML. So there is no 
need to fix this.

Nevertheless, as the above functionality can be done outside of Lucene easily, 
let's remove this class. Its mostly untested and not used in the wild (github 
search).


was (Author: thetaphi):
We will remove this class as it is not really used in Lucene and Solr, it's 
just a convenience class.

In fact it's not really a security issue, because it is just a way for an 
application to use template XML files for the XML query parser where properties 
can be replaced. The XML file is not intended to be loaded from untrusted 
sources. Anybody doing this has misunderstood the whole class anyways and will 
fail to use it anyways. So this looks like just an issue reported by some 
automated code safety testing tool.

For the template manager the use case is: You have an XML/XSL file as a query 
template in your resources folder and you use properties to replace the 
property placeholders in the XML before passing to XML query parser. If used 
correctly there is never any external possibility to inject XML. So there is no 
need to fix this.

Nevertheless, as the above functionality can be done outside of Lucene easily, 
let's remove this class. Its mostly untested and not used in the wild (github 
search).

> Possible security issue when parsing XML documents containing external entity 
> references
> ----------------------------------------------------------------------------------------
>
>                 Key: LUCENE-8291
>                 URL: https://issues.apache.org/jira/browse/LUCENE-8291
>             Project: Lucene - Core
>          Issue Type: Bug
>          Components: modules/queryparser
>    Affects Versions: 7.2.1
>            Reporter: Hendrik Saly
>            Assignee: Uwe Schindler
>            Priority: Critical
>              Labels: security
>
> It appears that in QueryTemplateManager.java lines 149 and 198 and in 
> DOMUtils.java line 204 XML is parsed without disabling external entity 
> references (XXE). This is described in 
> [http://cwe.mitre.org/data/definitions/611.html] and possible mitigations are 
> listed here: 
> [https://www.owasp.org/index.php/XML_External_Entity_(XXE)_Prevention_Cheat_Sheet]
> [https://www.cvedetails.com/cve/CVE-2014-6517/] is also related.
> All recent versions of lucene are affected.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to