Skip to content

Commit 61b40b1

Browse files
author
Steve Canny
committed
oxml: don't resolve XML entities in oxml_parser
Resolving entities in the XML is not required by the Open XML standard and represents a security vulnerability. Turn off entity resolution in both the opc (package) parser and the part parser.
1 parent 19b1664 commit 61b40b1

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

docx/opc/oxml.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
# configure XML parser
1818
element_class_lookup = etree.ElementNamespaceClassLookup()
19-
oxml_parser = etree.XMLParser(remove_blank_text=True)
19+
oxml_parser = etree.XMLParser(remove_blank_text=True, resolve_entities=False)
2020
oxml_parser.set_element_class_lookup(element_class_lookup)
2121

2222
nsmap = {

docx/oxml/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
# configure XML parser
1616
element_class_lookup = etree.ElementNamespaceClassLookup()
17-
oxml_parser = etree.XMLParser(remove_blank_text=True)
17+
oxml_parser = etree.XMLParser(remove_blank_text=True, resolve_entities=False)
1818
oxml_parser.set_element_class_lookup(element_class_lookup)
1919

2020

0 commit comments

Comments
 (0)