2023-06-22 11:25:00 +02:00

41 lines
798 B
Plaintext

== How to fix it in .NET
=== Code examples
include::../../common/fix/code-rationale.adoc[]
==== Noncompliant code example
[source,csharp,diff-id=1,diff-type=noncompliant]
----
using System.Xml;
public static void decode()
{
XmlDocument parser = new XmlDocument();
parser.XmlResolver = new XmlUrlResolver(); // Noncompliant
parser.LoadXml("xxe.xml");
}
----
==== Compliant solution
`XmlDocument` is safe by default since .NET Framework 4.5.2. For older versions,
set `XmlResolver` explicitly to `null`.
[source,csharp,diff-id=1,diff-type=compliant]
----
using System.Xml;
public static void decode()
{
XmlDocument parser = new XmlDocument();
parser.XmlResolver = null;
parser.LoadXml("xxe.xml");
}
----
=== How does this work?
include::../../common/fix/xxe.adoc[]