Introduction
Les applications qui s’appuient sur .NET Framework pour initialiser un composant COM et qui s’exécutent avec des autorisations restreintes peuvent ne pas démarrer ou s’exécuter correctement après l’installation des mises à jour du correctif cumulatif de sécurité et de qualité de juillet 2018 pour .NET Framework.
Le runtime Microsoft .NET Framework utilise le jeton de processus pour déterminer si le processus s’exécute dans un contexte élevé. Ces appels système peuvent échouer si les autorisations d’inspection de processus requises ne sont pas présentes. Cela provoque une erreur « accès refusé ».
Symptômes
Après l’installation d’une des mises à jour de sécurité pour .NET Framework de juillet 2018, le chargement d’un composant COM échoue en raison d’un « accès refusé », d’une « classe non enregistrée » ou d’une « erreur interne survenue pour des raisons inconnues ». La signature d’erreur la plus courante est la suivante :
Exception type: System.UnauthorizedAccessException
Message: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
SharePoint
- Lorsque les utilisateurs accèdent à un site SharePoint, ils peuvent voir le message HTTP 403 suivant : « Le site web a refusé d’afficher cette page web » HTTP 403.
- Les journaux ULS SharePoint contiennent des messages tels que les suivants :
w3wp.exe (0x1894) 0x0B94 SharePoint Foundation General 0000 High UnauthorizedAccessException for the request. 403 Forbidden will be returned. Error=An error occurred creating the configuration section handler for system.serviceModel/extensions: Could not load file or assembly <AssemblySignature> or one of its dependencies. Access is denied. (C:\Windows\Microsoft.NET\Framework64\v2.0.50727\Config\machine.config line 180)
w3wp.exe (0x1894) 0x0B94 SharePoint Foundation General b6p2 VerboseEx Sending HTTP response 403:403 FORBIDDEN.
w3wp.exe (0x1894) 0x0B94 SharePoint Foundation General 8nca Verbose Application error when access /, Error=Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
- Lors de l’analyse d’une source de contenu de personnes, la demande peut échouer et enregistrer l’entrée suivante dans le journal ULS SharePoint :
mssearch.exe (0x118C) 0x203C SharePoint Server Search Crawler:Gatherer Plugin cd11 Warning The start address sps3s://<URLtoSite> cannot be crawled. Context: Application 'Search_Service_Application', Catalog 'Portal_Content' Details: Class not registered (0x80040154)
Lorsque l’erreur se produit, un message semblable à ce qui suit est enregistré dans les journaux d’analyse SharePoint :
sps3s://<URLtoSite>
Un composant requis pour analyser ce type de contenu n’est pas inscrit auprès de ce serveur d’applications. Pour plus d’informations, consultez les journaux des événements. (SearchID = XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX)
console d’administration BizTalk Server
- BizTalk Server console d’administration ne démarre pas correctement et retourne les erreurs suivantes :
An internal failure occurred for unknown reasons. (WinMgmt)
Program Location:
at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
at System.Management.ManagementObject.Get()
at Microsoft.BizTalk.SnapIn.Framework.WmiProvider.SelectInstance
IIS avec ASP classique
Un ASP classique hébergé appelant CreateObject pour les objets COM .NET peut générer un message d’erreur semblable à ce qui suit :
ActiveX component can't create object
Application .NET qui utilise l’emprunt d’identité
Une application .NET qui crée un instance d’une application COM .NET dans un contexte d’emprunt d’identité peut générer un message d’erreur semblable au suivant :
0x80040154 (REGDB_E_CLASSNOTREG)
Résolution
Pour résoudre ces problèmes, appliquez les correctifs cumulatifs de sécurité et de qualité d’août 2018 ou les mises à jour de sécurité uniquement applicables à votre système d’exploitation et au .NET Framework installé. Pour plus d’informations, consultez CVE-2018-8356 | Vulnérabilité de contournement des fonctionnalités de sécurité .NET Framework.
Solution de contournement
Pour contourner ce problème, essayez l’une des méthodes suivantes.
Note Selon l’application affectée et son code, les solutions de contournement suivantes peuvent ne pas être efficaces.
Si vous avez des connaissances avancées sur la façon dont les processus sont démarrés, exécutez le processus à l’aide de l’autorisation PROCESS_QUERY_INFORMATION .
Asp classique hébergé IIS appelant CreateObject pour les objets COM .NET peut recevoir une erreur « Le composant ActiveX ne peut pas créer d’objet » :
Si votre site web utilise l’authentification anonyme :
- Modifiez les informations d’identification de l’authentification anonyme du site web pour utiliser l'« identité du pool d’applications ».
Si votre site utilise l’authentification de base ou l’authentification Windows :
- Connectez-vous une fois à l’application en tant qu’identité du pool d’applications, puis créez un instance du composant COM .NET.
- Après cela, les autres utilisateurs du site pourront activer le composant COM .NET sans l’échec.
Sinon, si vous utilisez l’authentification Windows et que vous accédez au site web à partir de la console du serveur Windows sur lequel l’application ASP s’exécute :
- La création d’un instance du composant COM .NET résout également l’erreur pour les autres utilisateurs du site.
Une application .NET qui crée un instance d’application COM .NET dans un contexte d’emprunt d’identité peut générer un message d’erreur « 0x80040154 (REGDB_E_CLASSNOTREG) » :
Créez un instance du composant COM .NET avant l’appel de contexte d’emprunt d’identité.
- Les appels créés ultérieurement instance créés par la suite fonctionnent comme prévu.
Exécutez l’application .NET dans le contexte de l’utilisateur emprunté.
Évitez d’utiliser l’emprunt d’identité lors de la création de l’objet COM .NET.
Si la UAC est désactivée pour l’ordinateur, réactivez-la.
Si le processus ne parvient pas à charger Diasymreader.dll, exécutez la commande suivante pour l’assembly :
ngen install <the failing assembly>Pour plus d’informations sur ngen, consultez Ngen.exe (Générateur d’images natives).
Avertissement : Les solutions de contournement suivantes peuvent rendre un ordinateur ou un réseau plus vulnérable aux attaques par des utilisateurs malveillants ou par des logiciels malveillants tels que des virus. Nous ne recommandons pas ces solutions de contournement. Toutefois, nous fournissons ces informations afin que vous puissiez implémenter les solutions de contournement à votre discrétion. Utilisez ces solutions de contournement à vos propres risques.
- Ajoutez « SERVICE RÉSEAU » au groupe Administrateurs local.
État
Microsoft a confirmé qu’il s’agissait d’un problème dans les produits Microsoft répertoriés dans la section « S’applique à ».
S’applique à
.NET Framework Security Mises à jour de juillet 2018 pour .NET Framework 3.5, 4.0, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1 et 4.7.2 sur toutes les versions applicables et prises en charge de Windows