From d0b4b0157d4af36b23c24a23739c47925c3bd8d7 Mon Sep 17 00:00:00 2001 From: Dominik Psenner <dpsenner@apache.org> Date: Tue, 12 Sep 2017 09:15:08 +0200 Subject: [PATCH] XmlConfigurator: do longer allow dtd processing across all platforms (LOG4NET-575) This patch fixes a security vulnerabiliy reported by Karthik Balasundaram. The security vulnerability was found in the way how log4net parses xml configuration files where it allowed to process XML External Entity Processing. An attacker could use this as an attack vector if he could modify the XML configuration file. --- src/Config/XmlConfigurator.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Config/XmlConfigurator.cs b/src/Config/XmlConfigurator.cs index b32594b..8a0c10f 100644 --- a/src/Config/XmlConfigurator.cs +++ b/src/Config/XmlConfigurator.cs @@ -736,9 +736,9 @@ namespace log4net.Config #if NETSTANDARD1_3 // TODO DtdProcessing.Parse not yet available (https://github.com/dotnet/corefx/issues/4376) settings.DtdProcessing = DtdProcessing.Ignore; #elif !NET_4_0 && !MONO_4_0 - settings.ProhibitDtd = false; + settings.ProhibitDtd = true; #else - settings.DtdProcessing = DtdProcessing.Parse; + settings.DtdProcessing = DtdProcessing.Ignore; #endif // Create a reader over the input stream