Mitigación: serialización de caracteres de control con DataContractJsonSerializer
A partir de NET Framework 4.7, ha cambiado la forma en la que se serializan los caracteres de control con DataContractJsonSerializer para que sean conformes con ECMAScript V6 y V8.
Impacto
En .NET Framework 4.6.2 y versiones anteriores, DataContractJsonSerializer no serializaba algunos caracteres de control especiales, como \b
, \f
y \t
, de una forma que fuera compatible con los estándares ECMAScript V6 y V8.
Para las aplicaciones destinadas a versiones de .NET Framework a partir de .NET Framework 4.7, la serialización de estos caracteres de control es compatible con ECMAScript V6 y V8. Afecta a las siguientes API:
Mitigación
Para las aplicaciones destinadas a versiones de .NET Framework a partir de .NET Framework 4.7, este comportamiento está habilitado de forma predeterminada.
Si no desea este compartimiento, puede rechazar esta característica agregando la siguiente línea a la sección <runtime>
del archivo app.config o web.config:
<runtime>
<AppContextSwitchOverrides value="Switch.System.Runtime.Serialization.DoNotUseECMAScriptV6EscapeControlCharacter=false" />
</runtime>