Skip to content

Commit 4aa4d0d

Browse files
author
Shamal Faily
committed
Fix XML internal entity expansion risk
1 parent 2c02efc commit 4aa4d0d

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

cairis/mio/ModelImport.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,11 @@ def importRequirementsFile(importFile,session_id = None):
173173
def importRequirementsString(buf,session_id = None):
174174
try:
175175
handler = GoalsContentHandler(session_id = session_id)
176-
xml.sax.parseString(buf,handler)
176+
parser = defusedxml.sax.make_parser()
177+
parser.forbid_external = False
178+
parser.setContentHandler(handler)
179+
parser.setEntityResolver(handler)
180+
parser.parse(io.StringIO(buf))
177181
return importRequirements(handler.domainProperties(),handler.goals(),handler.obstacles(),handler.requirements(),handler.usecases(),handler.countermeasures(),session_id = session_id)
178182
except xml.sax.SAXException as e:
179183
raise ARMException("Error parsing imported file: " + e.getMessage())

0 commit comments

Comments
 (0)