Echó un vistazo al código XmlSerializer.Deserialize
XmlSerializer.Deserialize (TextReader) llama internamente a la otra anulación - XmlSerializer.Deserialize (XmlTextReader) con XmlResolver configurado en nulo, por lo que debe estar a salvo de los ataques XXE, sin embargo, si desea deshabilitar el procesamiento dtd por completo, a continuación debe estar utilizado en su lugar.
var xmlTextReader = new XmlTextReader(xmlInput) { DtdProcessing = DtdProcessing.Ignore/Prohibit };
xmlSerializer.Deserialize(xmlTextReader);
Sin embargo, no veo ningún beneficio en deshabilitar el procesamiento DTD por completo (especialmente cuando podría afectar su código de tiempo probado). Según tengo entendido, solo hay dos ataques xml: XXE y amp; XmlBomb.
Como se mencionó anteriormente, XXE no debería ser posible porque XmlResolver está establecido en nulo.
XmlBomb tampoco debería ser posible porque MaxCharactersFromEntities está establecido en un valor limitado en lugar de 0 (0 significa que no hay límite).
Si intenta este ataque, se enfrentará a una excepción que dice: "El documento de entrada ha excedido el límite establecido por MaxCharactersFromEntities". en lugar de tener la aplicación bloqueada o tener un ataque DoS.