MSDN на в этой статье говорится:
CLR использует защиту кода доступа (CAS) в .NET Framework, которая не является более долгое время поддерживается как граница безопасности. Сборка CLR, созданная с помощью PERMISSION_SET = SAFE может иметь доступ к внешним системным ресурсам, вызвать неуправляемый код и получить привилегии sysadmin. Начиная с SQL Server 2017, параметр sp_configure, называемый clr strict security, является введенные для повышения безопасности сборок CLR. clr strict безопасность включена по умолчанию и обрабатывает SAFE и EXTERNAL_ACCESS сборок, как если бы они были помечены UNSAFE. Строгая безопасность clr опция может быть отключена для обратной совместимости, но это не рекомендуемые. Корпорация Майкрософт рекомендует подписывать все сборки сертификат или асимметричный ключ с соответствующим логином, который был предоставило разрешение UNSAFE ASSEMBLY в основной базе данных.
Как может сборка CLR, созданная с помощью PERMISSION_SET = SAFE
, получить доступ к внешним системным ресурсам, вызвать неуправляемый код и получить привилегии sysadmin?
Почему CAS больше не поддерживается как граница безопасности?
Как я понимаю, сборки CLR больше не могут быть безопасными, что очень неудачно.