Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
apphost y singlefilehost ahora están marcados como Intel CET, compatibles (se compilan con la /CETCOMPAT opción ). Este cambio se realizó para mejorar la seguridad de las aplicaciones .NET. Sin embargo, impone una limitación en las bibliotecas compartidas con las que las aplicaciones .NET pueden cargar e interoperabilidad. Las bibliotecas no pueden establecer el contexto de subproceso en una ubicación con un puntero de instrucción que no está presente en la pila de sombras ni en una tabla de direcciones de continuación permitidas para el control de excepciones.
Comportamiento anterior
Anteriormente, las bibliotecas compartidas cargadas en el proceso de .NET podían establecer el contexto de subproceso mediante SetThreadContext, RtlRestoreContext/NtContinue
Comportamiento nuevo
A partir de .NET 9, las bibliotecas compartidas cargadas en el proceso de .NET solo pueden establecer el contexto de subproceso mediante SetThreadContext, RtlRestoreContext/NtContinue
- Presente en la pila de sombras.
- En una tabla de direcciones de continuación permitidas para el control de excepciones (generada por la
/EHCONTopción del compilador o laSetProcessDynamicEHContinuationTargetsAPI).
Si las bibliotecas intentan cambiar un contexto de subproceso a cualquier otra ubicación, el proceso finaliza.
Versión introducida
.NET 9 Versión preliminar 6
Tipo de cambio importante
Este cambio puede afectar a la compatibilidad binaria.
Motivo del cambio
La habilitación de CET mejora la seguridad de las aplicaciones .NET al añadir protección del stack reforzada por hardware frente a exploits de programación orientada a retorno (ROP).
Acción recomendada
Soluciones alternativas:
- Puedes no participar en CET agregando
<CETCompat>false</CETCompat>al archivo de proyecto de la aplicación (por ejemplo, archivo .csproj ). - Use la aplicación Seguridad de Windows o una directiva de grupo para no participar en el cumplimiento de la pila compatible con hardware para la aplicación .NET específica. Para obtener más información, consulte Habilitación de la protección contra vulnerabilidades de seguridad.
API afectadas
- N/D