Skip to content

Commit b08ccb4

Browse files
authored
[DBMON-6479] Harden SQL Server XML plan parsing (#23382)
* Harden XML plan parsing * Add changelog * Avoid instantiating at module level for multi threaded use * Fix formatting
1 parent b841137 commit b08ccb4

2 files changed

Lines changed: 3 additions & 1 deletion

File tree

sqlserver/changelog.d/23382.fixed

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Harden SQL Server XML plan parsing

sqlserver/datadog_checks/sqlserver/statements.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,8 @@ def obfuscate_xml_plan(raw_plan, obfuscator_options=None):
236236
Obfuscates SQL text & Parameters from the provided SQL Server XML Plan
237237
Also strips unnecessary whitespace
238238
"""
239-
tree = ET.fromstring(raw_plan)
239+
parser = ET.XMLParser(resolve_entities=False, load_dtd=False, no_network=True)
240+
tree = ET.fromstring(raw_plan, parser=parser)
240241
for e in tree.iter():
241242
if e.text:
242243
e.text = e.text.strip()

0 commit comments

Comments
 (0)