summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/implementation_notes.md8
-rw-r--r--libmat2/office.py6
2 files changed, 9 insertions, 5 deletions
diff --git a/doc/implementation_notes.md b/doc/implementation_notes.md
index b763835..3b8e49d 100644
--- a/doc/implementation_notes.md
+++ b/doc/implementation_notes.md
@@ -61,3 +61,11 @@ Images handling
61When possible, images are handled like PDF: rendered on a surface, then saved 61When possible, images are handled like PDF: rendered on a surface, then saved
62to the filesystem. This ensures that every metadata is removed. 62to the filesystem. This ensures that every metadata is removed.
63 63
64XML attacks
65-----------
66
67Since our thread model conveniently excludes files crafted to specifically
68bypass MAT2, fileformats containing harmful XML are out of our scope.
69But since MAT2 is using [etree](https://docs.python.org/3/library/xml.html#xml-vulnerabilities)
70to process XML, it's "only" vulnerable to DoS, and not memory corruption:
71odds are that the user will notice that the cleaning didn't succeed.
diff --git a/libmat2/office.py b/libmat2/office.py
index 224067c..29100df 100644
--- a/libmat2/office.py
+++ b/libmat2/office.py
@@ -7,11 +7,7 @@ import zipfile
7import logging 7import logging
8from typing import Dict, Set, Pattern 8from typing import Dict, Set, Pattern
9 9
10try: # protect against DoS 10import xml.etree.ElementTree as ET # type: ignore
11 from defusedxml import ElementTree as ET # type: ignore
12except ImportError:
13 import xml.etree.ElementTree as ET # type: ignore
14
15 11
16from . import abstract, parser_factory 12from . import abstract, parser_factory
17 13