Nota
- Fecha de lanzamiento:
11 de agosto de 2020 - Versión:
.NET Framework 4.8
Resumen
Mejoras de seguridad
Existe una vulnerabilidad de elevación de privilegios cuando las aplicaciones web ASP.NET o .NET Framework que se ejecutan en IIS permiten acceso de manera incorrecta a los archivos en caché. Un atacante que aprovechara esta vulnerabilidad con éxito podría obtener acceso a archivos restringidos. Para aprovechar esta vulnerabilidad, un atacante debería enviar una solicitud especialmente diseñada a un servidor afectado. La actualización soluciona la vulnerabilidad al corregir el modo en que ASP.NET y .NET Framework gestionan las solicitudes.
Para obtener más información sobre las vulnerabilidades, consulte las siguientes vulnerabilidades y exposiciones comunes (CVE).
Mejoras de calidad y confiabilidad
| CLR1 | - Un cambio en .NET Framework 4.8 hizo retroceder ciertos escenarios de EnterpriseServices en los que un objeto apartamento de un solo subproceso podía tratarse como un apartamento de varios subprocesos y provocar un error de bloqueo. Este cambio ahora identifica correctamente los objetos de apartamento de un solo subproceso como tales y evita este error. - Soluciona un problema en los ensamblados con datos de perfil IBC que causaba que los procesos de trabajo de Ngen se bloquearan y volvieran a imágenes nativas completas. - Soluciona bloqueos poco frecuentes que podrían producirse durante la entrega de anulación de subprocesos. |
|---|---|
| SQL | - SqlBulkCopy.WriteToServer puede provocar un error en las transacciones de las tablas SQL en memoria. Es posible que el cliente vea una excepción con el mensaje "Tiempo de espera de ejecución expirado. El período de tiempo de espera se agotó antes de la finalización de la operación o el servidor no responde". SqlBulkCopy.WriteToServer enviaba un token de atención (mensaje de cancelación) después de enviar datos a SQL Server, lo que provocaba que el servidor anulara la transacción de las tablas en memoria. |
| ASP.NET | - Usar hashes compatibles con FIPS en ASP.Net datos de telemetría. - Soluciona un problema en el que "Sin especificar" no era un valor permitido en la configuración para el atributo "cookieSameSite" de las secciones de autenticación de formularios y configuración de estado de sesión. |
| WPF2 | - Soluciona un problema en el que la revisión ortográfica está habilitada en WPF TextBox o RichTextBox, palabras como "etc.", "p. ej." se identifican como errores ortográficos incorrectos. - Soluciona un problema en el que algunas aplicaciones de WPF compatibles con Per-Monitor que se ejecutan en .NET 4.8 pueden encontrarse ocasionalmente un bloqueo con exceptionSystem.ComponentModel.Win32Exception. - Soluciona un problema en el que TextBlock se redistribuye (toma diferentes decisiones de salto de línea) durante la representación y la prueba de aciertos, en lugar de durante la medición. Los síntomas incluyen texto faltante y FailFast se bloquea durante el procesamiento de texto mediante programación. - Soluciona un problema con un error de subproceso de representación causado por HostVisual que desconecta su destino en el subproceso incorrecto. - Soluciona un problema con un bloqueo al desplazarse por una vista de árbol cuyo árbol no es uniforme, en el sentido de que los hijos de un nodo determinado gobiernan subárboles cuyos tamaños son bastante diferentes. - Soluciona un problema con un bloqueo que puede producirse al cerrar una información sobre herramientas que se cierra de nuevo mediante código de usuario. - Cuando un HwndHost abandona el árbol visual, se crea un seguimiento de pila. Esto es costoso y, por lo general, innecesario. Ahora se ha cambiado la lógica para crear el seguimiento de la pila solo cuando se produce la condición anómala. - Soluciona una fuga de memoria en System.Speech.SpeechSynthesizer. - El comando Copiar de DataGrid arroja una excepción si el portapapeles del sistema está bloqueado por otro proceso. Esto se bloquea, ya que normalmente no hay ningún código de aplicación en la pila para detectar la excepción. El comportamiento de TextBox (y otras aplicaciones como Bloc de notas, Word, exploradores) en esta situación es fallar de forma silenciosa: no se copia nada en el portapapeles, pero no hay excepción. Una aplicación WPF ahora puede participar en este comportamiento estableciendo <appSettings><add key="ShouldThrowOnDataGridCopyOrCutFailure" value="false"/></appSettings>en su archivo app.config. - Soluciona un problema en la construcción del modelo interno para un documento de página fija. Parte del texto aparecía en un orden incorrecto para las operaciones de edición, como la selección y el copiado y pegado. |
| WCF3 | - Cuando se usa un nombre de usuario de Windows UPN con un formato similar al username@dns.domain de la propiedad username de NetworkCredential al usar NetTcpBinding o NetNamedPipeBinding, WCF dividiría incorrectamente el nombre de usuario y dns.domain colocándolos en las propiedades UserName y Domain. Esto no es válido en algunos escenarios y provocaría un error al autenticarse. Esta corrección quita la modificación de credenciales al usar un nombre de usuario UPN. La modificación se puede volver a habilitar estableciendo AppSetting "wcf:enableLegacyUpnUsernameFix" en true. |
| Bibliotecas de red | - Soluciona una fuga de memoria en HttpListener. |
| Winforms | - Soluciona un problema con el estado de DataGridView IsReadOnlyaccessibility: Narrador y otras herramientas accesibles anuncian el estado de la celda de solo lectura en consecuencia. - Corrige una regresión en .NET Framework 4.8 cuando las aplicaciones que usan el tipo de celda DataGridView ComboBox y han optado por la accesibilidad de nivel 3, pueden experimentar bloqueos intermitentes mientras editan la celda. - Aborda un problema en el código de verificación de marca de tiempo RFC3161 ClickOnce |
| Mejoras de accesibilidad de Winforms | En esta versión, agregamos nuevas mejoras de accesibilidad que su aplicación puede aceptar. Estos cambios están deshabilitados de forma predeterminada. Las aplicaciones que participan en las características de accesibilidad introducidas en .NET 4.8 y versiones anteriores pueden agregar el siguiente conmutador de compatibilidad al archivo de configuración de la aplicación:"Switch.UseLegacyAccessibilityFeatures.4=false"En concreto, si una aplicación tiene como destino .NET 4.8, agregue la siguiente sección AppContextSwitchOverrides: <?xml version="1.0" encoding+"utf-8" ?> <configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Versionv4.8"/; </startup> <runtime> <!-- AppContextSwitchOverrides value attribute is in the form of 'key1=true\|false;key2=true\|false --> <AppContextSwitchOverrides value="Switch.UseLegacyAccessibilityFeatures.4=false" /> </runtime> </configuration>Si una aplicación tiene como destino una versión anterior del marco y participa en los conjuntos de características de accesibilidad de la versión anterior, agregue un único "Switch.UseLegacyAccessibilityFeatures.4=false" modificador a la sección existente AppContextSwitchOverrides :<?xml version="1.0" encoding+"utf-8" ?> <configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Versionv4.7"/; </startup> <runtime> <!-- AppContextSwitchOverrides value attribute is in the form of 'key1=true\|false;key2=true\|false --> <AppContextSwitchOverrides value=Switch.UseLegacyAccessibilityFeatures=false\|Switch.UseLegacyAccessibilityFeatures.2=false\|Switch.UseLegacyAccessibilityFeatures.3=false\|Switch.UseLegacyAccessibilityFeatures.4=false"/> </runtime> </configuration>Las mejoras de accesibilidad de WinForms incluidas en esta versión son: - Se solucionó un problema al anunciar el estado expandido o contraído de los elementos y categorías de control de PropertyGrid por parte de los lectores de pantalla. - Se actualizaron los patrones de accesibilidad del control de la cuadrícula de propiedades y sus elementos internos. - Se han actualizado los nombres accesibles de los elementos internos de control de la cuadrícula de propiedades para anunciarlos correctamente por el lector de pantalla. - Propiedades accesibles del rectángulo delimitado por direcciones para los controles PropertyGridView - Permite que los lectores de pantalla anuncien correctamente el estado expandido o contraído de la celda DataGridView ComboBox. |
1 Common Language Runtime (CLR)
2 Windows Presentation Foundation (WPF)
3 Windows Communication Foundation
Problemas conocidos en esta actualización
Las aplicaciones de Windows Presentation Framework (WPF) que usan dos o más elementos HostVisual que pertenecen a un subproceso común, en las que se pide a ambos elementos HostVisual que se desconecten de su destino visual aproximadamente al mismo tiempo, el correo produce el siguiente error:
Tipo de excepción: System.COMException
Mensaje: UCEERR_RENDERTHREADFAILURE (HRESULT 0x88980406)
Pila de llamadas: el marco superior es System.Windows.Media.Composition.DUCE+Channel.SyncFlush()
Soluciones alternativas
Puede deshabilitar la corrección del problema estableciendo el modificador AppContext "Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread" a true, mediante uno de los métodos descritos aquí. Esto expone la aplicación al error original, por lo que debe quitar el modificador una vez que se publique una corrección a través de una próxima actualización.
Solución alternativa 1
• Agregue la siguiente entrada al archivo app.config para deshabilitar la solución problemática en una sola aplicación.
<runtime>
<AppContextSwitchOverrides value="Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread=true"/>
</runtime>
Tenga en cuenta que si la configuración de la aplicación ya tiene una entrada para <AppContextSwitchOverrides>, debe agregar la nueva configuración dentro de esa entrada, separada de otros modificadores por punto y coma:
<AppContextSwitchOverrides value="Switch.SomeOtherSwitch=true; Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread=true"/>
Solución alternativa 2
• Aplique la siguiente subclave del Registro para deshabilitar la corrección problemática para todas las aplicaciones WPF del equipo.
Advertencia
Pueden producirse graves problemas si modifica incorrectamente el registro mediante el Editor del registro o con cualquier otro método. Es posible que estos problemas requieran que vuelva a instalar el sistema operativo. Microsoft no puede garantizar que estos problemas se puedan resolver. Modifique el Registro bajo su propia responsabilidad.
Ubicación: HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\AppContext\
Nombre: Switch.System.Media.HostVisual.DisconnectsOnWrongThread
Tipo: cadena
Valor: verdadero
Tenga en cuenta que, en los sistemas operativos de 64 bits, también debe aplicar una subclave del Registro con el mismo nombre, tipo y valor en la ubicación: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\.NETFramework\AppContext\
Resolución
Estamos trabajando en una resolución y proporcionaremos una actualización en una próxima versión.
Cómo obtener esta actualización
Instalar esta actualización
| Canal de publicación | Disponible | Siguiente paso |
|---|---|---|
| Windows Update y Microsoft Update | Sí | Ninguna. Esta actualización se descargará e instalará automáticamente desde Windows Update. |
| Catálogo de Microsoft Update | Sí | Para obtener el paquete independiente de esta actualización, vaya al sitio web del Catálogo de Microsoft Update. |
| Windows Server Update Services (WSUS) | Sí | Esta actualización se sincronizará automáticamente con WSUS si configura Productos y clasificaciones del modo siguiente: Producto: Windows 10 versión 1803 Clasificación: actualizaciones de seguridad |
Información de archivo
Para ver la lista de archivos que se proporcionan en esta actualización, descargue la información sobre los archivos de la actualización acumulativa.
Información sobre protección y seguridad
- Protéjase en línea: Soporte técnico de Seguridad de Windows
- Obtenga información sobre cómo le protegemos frente a amenazas cibernéticas: Seguridad de Microsoft