oss-sec mailing list archives
Re: CVE request: XXE in Openpyxl
From: Sébastien Delafond <seb () debian org>
Date: Tue, 14 Feb 2017 09:29:48 +0000 (UTC)
On 2017-02-14, Doran Moppert <dmoppert () redhat com> wrote:
My mistake - thanks for bringing this up! It appears that resolve_entities=False (ie. options &= ~XML_PARSE_NOENT) does *not* affect the expansion of predefined entities or character entities. See [1], [2] and parser.c + HTMLparser.c in libxml source. 1: https://www.xml.com/pub/a/98/08/xmlqna1.html 2: https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references These flags *do* control the expansion of internal entities, but I expect that most common protocols and file formats should not rely on those - including Excel. As long as openpyxl has no need to resolve internal entities, nor perform DTD validation, CVE-2016-9318 is not relevant and the proposed patch looks correct. So yes, the original CVE request was valid and should go ahead:
@MITRE, can you assign one directly, since this request pre-dates the requirement of going through the web form, or should I resubmit there anyway ?
the Debian Security Team would like to request a CVE for an XML XEE discovered in Openpyxl by Marcin Ulikowski from F-Secure; Openpyxl resolves external entities by default: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=854442 https://bitbucket.org/openpyxl/openpyxl/commits/3b4905f428e1Also: https://bitbucket.org/openpyxl/openpyxl/issues/749
Sorry about muddying the water with misunderstanding(s). The tricky part of CVE-2016-9318 seems to be particular requirements of components like xmlsec that want internal entity resolution without XXE, or DTD validation without exposing the whole filesystem.
No problem at all, the overall implications of CVE-2016-9318 and entity resolution are indeed pretty complex. Cheers, --Seb
Current thread:
- CVE request: XXE in Openpyxl Sébastien Delafond (Feb 07)
- Re: CVE request: XXE in Openpyxl Doran Moppert (Feb 07)
- Re: CVE request: XXE in Openpyxl Sébastien Delafond (Feb 13)
- Re: Re: CVE request: XXE in Openpyxl Doran Moppert (Feb 13)
- Re: CVE request: XXE in Openpyxl Sébastien Delafond (Feb 14)
- Re: CVE request: XXE in Openpyxl Sébastien Delafond (Feb 15)
- Re: CVE request: XXE in Openpyxl Sébastien Delafond (Feb 13)
- Re: CVE request: XXE in Openpyxl Doran Moppert (Feb 07)