Skip to content

Commit 4db5b55

Browse files
authored
SDL | Changing ReadXml to a more secure overload. (#2147) (#2516)
1 parent 77ec674 commit 4db5b55

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

src/Microsoft.Data.SqlClient/netcore/src/Common/src/Microsoft/Data/ProviderBase/DbMetaDataFactory.cs

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
using System.Diagnostics;
1010
using System.Globalization;
1111
using System.IO;
12+
using System.Xml;
1213

1314
namespace Microsoft.Data.ProviderBase
1415
{
@@ -507,9 +508,16 @@ private bool IncludeThisColumn(DataColumn sourceColumn, string[] hiddenColumnNam
507508

508509
private void LoadDataSetFromXml(Stream XmlStream)
509510
{
510-
_metaDataCollectionsDataSet = new DataSet();
511-
_metaDataCollectionsDataSet.Locale = System.Globalization.CultureInfo.InvariantCulture;
512-
_metaDataCollectionsDataSet.ReadXml(XmlStream);
511+
_metaDataCollectionsDataSet = new DataSet
512+
{
513+
Locale = CultureInfo.InvariantCulture
514+
};
515+
XmlReaderSettings settings = new()
516+
{
517+
XmlResolver = null
518+
};
519+
using XmlReader reader = XmlReader.Create(XmlStream, settings);
520+
_metaDataCollectionsDataSet.ReadXml(reader);
513521
}
514522

515523
protected virtual DataTable PrepareCollection(string collectionName, string[] restrictions, DbConnection connection)

0 commit comments

Comments
 (0)