Bulletin de sécurité Microsoft MS13-103 - Important
Une vulnérabilité dans ASP.NET SignalR pourrait permettre une élévation de privilèges (2905244)
Paru le: mardi 10 décembre 2013
Version: 1.0
Informations générales
Synthèse
Cette mise à jour de sécurité corrige une vulnérabilité signalée confidentiellement dans ASP.NET SignalR. Cette vulnérabilité pourrait permettre une élévation de privilèges si un attaquant renvoyait du contenu JavaScript spécialement conçu sur le navigateur de l'utilisateur ciblé.
Cette mise à jour de sécurité est de niveau « important » pour ASP.NET SignalR versions 1.1.0, 1.1.1, 1.1.2, 1.1.3 et 2.0.0, ainsi que toutes les éditions en cours de support de Microsoft Visual Studio Team Foundation Server 2013. Pour plus d'informations, consultez la sous-section « Logiciels concernés et non concernés » plus loin dans ce Bulletin.
Cette mise à jour de sécurité corrige la vulnérabilité en garantissant qu’ASP.NET SignalR encode correctement les entrées utilisateur. Pour obtenir plus d'informations sur la vulnérabilité, consultez la sous-section « Forum aux questions » spécifique à chaque vulnérabilité, dans la section « Informations par vulnérabilité ».
Recommandation.
Pour les clients développant des applications Web qui utilisent ASP.NET SignalR : Les clients développant des applications Web qui utilisent la fonctionnalité ASP.NET SignalR sont encouragés à suivre les instructions de la section « Déploiement de la mise à jour de sécurité » de ce Bulletin pour obtenir des instructions détaillées sur la mise à jour d’ASP.NET SignalR dans leurs environnements.
Pour les clients exécutant des installations de Microsoft Visual Studio Team Foundation Server 2013 : Pour les clients chez lesquels les mises à jour automatiques sont activées et qui exécutent Microsoft Visual Studio Team Foundation Server 2013, cette mise à jour sera téléchargée et installée automatiquement. Nos clients chez lesquels les mises à jour automatiques ne sont pas activées doivent rechercher les mises à jour et les installer manuellement. Pour plus d'informations sur les options de configuration spécifiques des mises à jour automatiques, consultez l'Article 294871 de la Base de connaissances Microsoft.
Pour les administrateurs et les installations d'entreprise, ou bien pour les utilisateurs souhaitant installer cette mise à jour de sécurité manuellement, Microsoft recommande à ses clients d'appliquer cette mise à jour le plus rapidement possible à l'aide du logiciel de gestion des mises à jour ou en recherchant des mises à jour à l'aide du service [Microsoft Update](http://go.microsoft.com/fwlink/? linkid=40747).
Consultez également la section « Outils de détection, de déploiement et Conseils » dans ce même Bulletin.
Article de la Base de connaissances
Article de la Base de connaissances | 2905244 |
---|---|
Informations sur les fichiers | Oui |
Mots de passe hachés SHA1/SHA2 | Oui |
Problèmes connus | Aucun |
Logiciels concernés et non concernés
Microsoft a testé les logiciels suivants afin de déterminer quelles versions ou éditions sont concernées. Toute autre version ou édition a soit atteint la fin de son cycle de vie ou bien n'est pas affectée. Consultez le site Web [Politique de Support Microsoft](http://go.microsoft.com/fwlink/? linkid=21742) afin de connaître la politique de support Microsoft pour votre version ou édition.
Logiciels concernés
Outils pour développeurs | Impact de sécurité maximal | Indice de gravité cumulée | Mises à jour remplacées |
---|---|---|---|
ASP.NET SignalR 1.1.x[1] (2903919) |
Élévation de privilèges | Important | Aucun |
ASP.NET SignalR 2.0.x[1] (2903919) |
Élévation de privilèges | Important | Aucun |
Microsoft Visual Studio Team Foundation Server 2013 (2903566) |
Élévation de privilèges | Important | Aucun |
[1]S'applique aux serveurs Windows qui hébergent des applications Web prenant en charge la fonctionnalité ASP.NET SignalR. Cette mise à jour, uniquement disponible au téléchargement, met à jour les versions 1.1.0, 1.1.1, 1.1.2 et 1.1.3, ainsi que la version 2.0.0 vers les versions prises en charge les plus récentes (1.1.4 et 2.0.1 à la date de ce Bulletin). Pour plus d'informations, reportez-vous à la section « Déploiement de la mise à jour de sécurité » de ce Bulletin.
Logiciels non concernés
Logiciel et système d'exploitation |
---|
ASP.NET SignalR 1.0.0 |
ASP.NET SignalR 1.0.1 |
Microsoft Visual Studio .NET 2003 Service Pack 1 |
Microsoft Visual Studio 2005 Service Pack 1 |
Microsoft Visual Studio Team Foundation Server 2005 Service Pack 1 |
Microsoft Visual Studio 2008 Service Pack 1 |
Microsoft Visual Studio Team Foundation Server 2008 Service Pack 1 |
Microsoft Visual Studio 2010 Service Pack 1 |
Microsoft Visual Studio Team Foundation Server 2010 Service Pack 1 |
Microsoft Visual Studio LightSwitch 2011 |
Microsoft Visual Studio 2012 |
Microsoft Visual Studio Team Foundation Server 2012 |
Forum aux questions concernant les mises à jour
Qu'est-ce qu' ASP.NET SignalR ?
ASP.NET SignalR est une bibliothèque destinée aux développeurs ASP.NET, qui simplifie le développement des fonctionnalités Web en temps réel. ASP.NET SignalR permet une communication bidirectionnelle entre serveur et client via JavaScript. Les serveurs émettent du contenu vers les clients connectés dès qu'il devient disponible (fonctionnalité d'émission). Pour plus d'informations à propos d'ASP.NET SignalR, consultez l'article consacré à la présentation de SignalR (en anglais).
Comment déterminer les versions d'ASP.NET SignalR installées sur mon système ?
Pour déterminer les versions d'ASP.NET SignalR déployées sur votre système, recherchez « SignalR » sur le disque dur de votre système. Affichez les propriétés de tous les fichiers Microsoft.AspNet.SignalR.Core.dll trouvés suite à la recherche pour connaître leurs numéros de version. Toutes les versions 1.1.x antérieures à la version 1.1.4 sont vulnérables et doivent être mises à jour. Toutes les versions 2.0.x antérieures à la version 2.0.1 sont vulnérables et doivent être mises à jour. Toutes les versions 1.0.x trouvées ne sont pas vulnérables.
Comment mettre à niveau ma version d'ASP.NET SignalR ?
Les instances d'ASP.NET SignalR installées avec Visual Studio Team Foundation Server 2013 seront mises à jour via Microsoft Update. Toutefois, les autres instances d'ASP.NET SignalR qui résident sur les systèmes des développeurs et les serveurs d'applications Web devront être mises à jour à l'aide des processus définis dans la section « Déploiement de la mise à jour de sécurité » de ce Bulletin.
Cette mise à jour mettra-t-elle à niveau ma version d'ASP.NET SignalR ?
Non. Elle mettra à jour la version de correctif installée sur un système, mais ne mettra pas à niveau la version majeure ou mineure. À compter de la publication de ce Bulletin, deux versions majeures d'ASP.NET SignalR sont prises en charge (versions 1.1.x et 2.0.x). Cette mise à jour mettra à jour toutes les versions 1.1.x vers la version 1.1.4 et toutes les versions 2.0.x vers la version 2.0.1.
J'utilise une version antérieure du logiciel décrit dans ce Bulletin de sécurité. Que dois-je faire ?
Microsoft a testé les logiciels répertoriés dans ce bulletin afin de déterminer quelles versions sont concernées. Les autres versions ont atteint la fin de leurs cycles de vie. Pour plus d'informations sur le cycle de vie des produits, visitez le site Web [Politique de Support Microsoft](http://go.microsoft.com/fwlink/? linkid=21742).
Les clients qui utilisent une version antérieure de ces logiciels doivent prioritairement passer à une version en cours de support, afin de prévenir leur exposition potentielle aux vulnérabilités. Consultez le site Web [Politique de Support Microsoft](http://go.microsoft.com/fwlink/? linkid=169555) afin de connaître les modalités de support de la version de votre logiciel. Pour plus d'informations à propos des Service Packs pour ces versions logicielles, consultez la page [Politique de support relative aux Service Packs](http://go.microsoft.com/fwlink/? linkid=89213).
Les clients nécessitant un support supplémentaire pour des logiciels plus anciens doivent prendre contact avec leur responsable de compte Microsoft, leur responsable technique de compte ou le partenaire Microsoft approprié pour connaître les options de support personnalisé. Les clients ne bénéficiant pas d'un Contrat Alliance, Premier ou Authorized peuvent appeler leur agence commerciale locale Microsoft. Pour obtenir des informations de contact, visitez le site Web [Microsoft Worldwide Information](http://go.microsoft.com/fwlink/? linkid=33329), sélectionnez le pays dans la liste Informations de contact, puis cliquez sur Go pour afficher une liste de numéros de téléphone. Lorsque vous appelez, demandez à parler au directeur commercial local de Support Premier. Pour plus d'informations, consultez le [Forum aux questions sur la politique de support Microsoft](http://go.microsoft.com/fwlink/? linkid=169557).
Informations par vulnérabilité
Indices de gravité et identificateurs de vulnérabilité
Les indices de gravité suivants considèrent l'impact potentiel maximal de la vulnérabilité. Pour plus d'informations sur les risques dans les 30 jours suivant la publication d'un Bulletin concernant l'exploitabilité de la vulnérabilité par rapport à son indice de gravité et à son impact, consultez l'Indice d'exploitabilité dans la synthèse des Bulletins de sécurité de décembre. Pour plus d'informations, consultez l'Indice d'exploitabilité Microsoft.
Logiciels concernés | Vulnérabilité de script inter-sites (XSS ou cross-site scripting) dans SignalR – CVE-2013-5042 | Indice de gravité cumulée |
---|---|---|
Outils pour développeurs | ||
ASP.NET SignalR 1.1.x (2903919) | Important Élévation de privilèges | Important |
ASP.NET SignalR 2.0.x (2903919) | Important Élévation de privilèges | Important |
Microsoft Visual Studio Team Foundation Server 2013 (2903566) | Important Élévation de privilèges | Important |
Vulnérabilité de script inter-sites (XSS ou cross-site scripting) dans SignalR – CVE-2013-5042
Il existe une vulnérabilité d'élévation des privilèges dans ASP.NET SignalR qui pourrait permettre à un attaquant d'accéder à des ressources dans le contexte de l'utilisateur ciblé.
Pour afficher cette vulnérabilité en tant qu'entrée standard dans la liste « Common Vulnerabilities and Exposures », consultez la référence [CVE-2013-5042](http://www.cve.mitre.org/cgi-bin/cvename.cgi? name=cve-2013-5042).
Facteurs atténuants
Microsoft n'a identifié aucun facteur atténuant pour cette vulnérabilité.
Solutions de contournement
Une solution de contournement fait référence à une modification de paramètre ou de configuration qui ne corrige pas la vulnérabilité sous-jacente mais qui pourrait contribuer à bloquer certains vecteurs d'attaque connus jusqu'à ce que la mise à jour soit appliquée. Microsoft a testé les solutions de contournement suivantes et indique le cas échéant si une solution réduit certaines fonctionnalités :
Pour les serveurs Windows qui hébergent des applications Web utilisant la fonctionnalité ASP.NET SignalR, le fait de désactiver le protocole de transport ASP.NET SignalR Forever Frame protège provisoirement de la vulnérabilité.
La désactivation du protocole de transport ASP.NET SignalR Forever Frame côté client et côté serveur est réalisée en code. Consultez les exemples suivants à titre de conseils pour désactiver le protocole dans votre environnement.
Exemple de code pour désactiver le transport concerné côté client :
// Dans le cas d'une connexion par concentrateur par défaut$.connection.hub.start({ transport: ["webSockets", "serverSentEvents", "longPolling"] }) ; // Dans le cas d'une connexion créée manuellementvar connection = $.connection("http://sample.com/signalr") ;connection.start({ transport: ["webSockets", "serverSentEvents", "longPolling"] }) ; Exemple de code pour désactiver le transport concerné côté serveur lors de l'utilisation du résolveur de dépendance globale par défaut : avec Microsoft.AspNet.SignalR ;avec Microsoft.AspNet.SignalR.Transports ;avec Owin ;namespace MyApplication{ public static class Startup { public static void ConfigureSignalR(IAppBuilder app) { // Dans le cas du résolveur de dépendance globale TurnOfForeverFrame(GlobalHost.DependencyResolver); app.MapSignalR(); } public static void TurnOfForeverFrame(IDependencyResolver resolver) { var transportManager = resolver.Resolve<ITransportManager>() as TransportManager; transportManager.Remove("foreverFrame"); } }} Exemple de code pour désactiver le transport concerné côté serveur lors de l'utilisation d'un résolveur de dépendance personnalisé : avec Microsoft.AspNet.SignalR ;avec Microsoft.AspNet.SignalR.Transports ;avec Owin ;namespace MyApplication{ public static class Startup { public static void ConfigureSignalR(IAppBuilder app) { // Dans le cas d'un résolveur de dépendance personnalisé var resolver = GetCustomResolver(); TurnOfForeverFrame(resolver); app.MapSignalR(new HubConfiguration { Resolver = resolver }); } private static IDependencyResolver GetCustomResolver() { return new DefaultDependencyResolver(); } public static void TurnOfForeverFrame(IDependencyResolver resolver) { var transportManager = resolver.Resolve<ITransportManager>() as TransportManager; transportManager.Remove("foreverFrame"); } }}
Impact de la solution de contournement. Après l'implémentation de la solution de contournement, les clients Internet Explorer peuvent présenter une vitesse de communication plus lente pour l'application SignalR.
Pour les systèmes sur lesquels Microsoft Visual Studio Team Foundation Server 2013 est installé, Microsoft n'a pas identifié de solutions de contournement.
Forum aux questions
Quelle est la portée de cette vulnérabilité ?
Il s'agit d'une vulnérabilité d'élévation de privilèges.
Quelle est la cause de cette vulnérabilité ?
Cette vulnérabilité survient lorsqu'ASP.NET SignalR encode de façon incorrecte des entrées utilisateur.
Que pourrait faire un attaquant en exploitant cette vulnérabilité ?
Dans un scénario de navigation Web, un attaquant pourrait renvoyer du contenu JavaScript spécialement conçu sur le navigateur de l'utilisateur, ce qui lui permettrait de modifier le contenu de la page, de se livrer à du hameçonnage et d'exécuter des actions au nom de l'utilisateur ciblé.
Comment un attaquant pourrait-il exploiter cette vulnérabilité ?
Dans un scénario d'attaque, un attaquant pourrait introduire dans le navigateur d'un utilisateur ciblé du contenu spécialement conçu renfermant des éléments JavaScript malveillants destinés à permettre à l'attaquant d'accéder à des ressources disponibles pour l'utilisateur ciblé.
Quels sont les systèmes les plus exposés à cette vulnérabilité ?
Dans un scénario de navigation Web, l'exploitation réussie de cette vulnérabilité nécessite qu'un utilisateur ait ouvert une session et visite un site Web hébergeant ASP.NET SignalR. C'est pourquoi les systèmes sur lesquels les navigateurs Web sont fréquemment utilisés (comme les postes de travail des utilisateurs ou les serveurs Terminal Server) sont les plus exposés à cette vulnérabilité. Les serveurs pourraient être plus exposés si les administrateurs autorisent les utilisateurs à naviguer sur Internet et à consulter leur messagerie électronique depuis ceux-ci. Néanmoins, les meilleures pratiques recommandent fortement de ne pas autoriser cela.
Que fait cette mise à jour ?
Cette mise à jour corrige la vulnérabilité en garantissant qu'ASP.NET SignalR encode correctement les entrées utilisateur.
Lors de la parution de ce Bulletin de sécurité, cette vulnérabilité avait-elle été révélée publiquement ?
Non. Microsoft a été informé de cette vulnérabilité par une divulgation de vulnérabilité coordonnée.
Lors de la parution de ce Bulletin de sécurité, Microsoft avait-il été informé d'une éventuelle exploitation de cette vulnérabilité ?
Non. Lors de la première publication de ce Bulletin, Microsoft n'avait reçu aucune information faisant état d'une utilisation de cette vulnérabilité dans le but d'attaquer des clients.
Informations concernant la mise à jour
Outils de détection, de déploiement et Conseils
Plusieurs ressources sont disponibles pour aider les administrateurs à déployer des mises à jour de sécurité.
- Microsoft Baseline Security Analyzer (MBSA) permet aux administrateurs de rechercher les mises à jour manquantes et les erreurs de configuration de sécurité courantes sur les systèmes locaux et distants.
- Windows Server Update Services (WSUS), Systems Management Server (SMS) et System Center Configuration Manager aident les administrateurs à distribuer les mises à jour de sécurité.
- Les composants d'évaluation de la compatibilité des mises à jour (Update Compatibility Evaluator) inclus avec les outils d'analyse de compatibilité des applications (Application Compatibility Toolkit) contribuent à rationaliser le test et la validation des mises à jour Windows en fonction des applications installées.
Pour obtenir des informations sur ces ressources et d'autres outils disponibles, consultez la page « Outils de sécurité ».
Déploiement de la mise à jour de sécurité
Logiciels concernés
Pour obtenir des informations sur la mise à jour de sécurité spécifique aux Logiciels concernés, cliquez sur le lien approprié :
ASP.NET SignalR (toutes les versions)
Plusieurs options de mise à jour sont disponibles selon votre scénario de déploiement. Choisissez la meilleure option pour votre scénario :
Pour les développeurs d'applications Web dans lesquelles ASP.NET SignalR est activé
Option 1 : Mettez à jour vos packages de projet Visual Studio à l'aide de NuGet, recompilez votre application et procédez au déploiement
- Ouvrez votre solution dans Visual Studio.
- Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le nœud Références puis sur Manage NuGet Packages (Gérer les packages NuGet).
- Sélectionnez l'onglet Mises à jour. Une liste de packages avec mises à jour s'affiche dans le volet central.
- Sélectionnez le package Microsoft.AspNet.SignalR puis cliquez sur Mettre à jour.
- Compilez et déployez votre application Web.
Pour plus d'informations à propos de la gestion des packages NuGet à l'aide de la boîte de dialogue NuGet, consultez l'article consacré à la gestion de packages NuGet à l'aide de la boîte de dialogue (en anglais).
Option 2 : Mettez à jour vos packages de projet Visual Studio à l'aide de l'interface utilisateur de la console du Gestionnaire de package, recompilez votre application et procédez au déploiement
- Ouvrez votre solution dans Visual Studio.
- Cliquez sur le menu Outils, sélectionnez Gestionnaire de package de bibliothèques, puis cliquez sur Console du Gestionnaire de package.
- Dans la fenêtre du Gestionnaire de package, saisissez Update-Package Microsoft.AspNet.SignalR.
- Compilez et déployez votre application Web.
Pour plus d'informations sur l'utilisation de la console du Gestionnaire de package, consultez l'article consacré à l'utilisation de la console du Gestionnaire de package (en anglais).
Pour les administrateurs système qui ne peuvent pas recompiler leurs applications Web dans lesquelles ASP.NET SignalR est activé.
Mise à jour d'ASP.NET SignalR sur les administrateurs système
Pour protéger les serveurs avant de mettre à jour des projets et de redéployer des applications Web, installez la mise à jour à l'aide du lien fourni dans le tableau ci-dessous. Cela devrait être considéré comme une protection provisoire pour les administrateurs jusqu'à ce que les applications déployées qui utilisent ASP.NET SignalR puissent être mises à jour.
Fichier de mise à jour SignalR-KB2903919.msi Options d'installation Consultez l'Article 262841 de la Base de connaissances Microsoft. Fichier journal Non concerné Nécessité de redémarrer Le redémarrage du système n'est pas nécessaire ; toutefois, IIS redémarrera. Informations de désinstallation Utilisez l'outil Ajout/Suppression de programmes dans le Panneau de configuration. Informations sur les fichiers Consultez l'Article 2903919 de la Base de connaissances Microsoft.
Microsoft Visual Studio Team Foundation Server 2013 (toutes versions)
Tableau de référence
Le tableau suivant contient les informations de mise à jour de sécurité concernant ce logiciel.
Noms de fichiers des mises à jour de sécurité | Pour Microsoft Visual Studio Team Foundation Server 2013 : TFS2013-KB2903566.exe |
Options d'installation | Consultez l'Article 262841 de la Base de connaissances Microsoft. |
Fichier journal | Non concerné |
Nécessité de redémarrer | Cette mise à jour peut nécessiter un redémarrage si les fichiers sont en cours d'utilisation. |
Informations de désinstallation | Utilisez l'outil Ajout/Suppression de programmes dans le Panneau de configuration. |
Informations sur les fichiers | Consultez l'Article 2903566 de la Base de connaissances Microsoft. |
Vérification de la clé de Registre | Pour Microsoft Visual Studio Team Foundation Server 2013 : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevDiv\tfs\Servicing\12.0 |
Autres informations
Microsoft Active Protections Program (MAPP)
Pour améliorer la protection de ses clients, Microsoft fournit des informations sur les vulnérabilités aux principaux fournisseurs de logiciels de sécurité avant chaque mise à jour de sécurité mensuelle. Les fournisseurs de logiciels de sécurité peuvent ainsi utiliser ces informations pour fournir des protections mises à jour à leurs clients via leurs logiciels ou périphériques de sécurité, tels que les antivirus et les systèmes de détection ou de prévention d'intrusion basés sur le réseau ou sur les hôtes. Pour déterminer si des protections actives sont disponibles, visitez les sites Web des partenaires fournisseurs de logiciels de sécurité, répertoriés sur la page [Microsoft Active Protections Program (MAPP) Partners](http://go.microsoft.com/fwlink/? linkid=215201) (en anglais).
Support technique
Comment obtenir de l'aide concernant cette mise à jour de sécurité
- Aide à l'installation des mises à jour : Support pour Microsoft Update
- Solutions de sécurité pour professionnels de l'informatique : Support technique et résolution des problèmes de sécurité TechNet
- Protégez votre ordinateur Windows des virus et des logiciels malveillants : Aide et Support pour les problèmes de virus et de sécurité
- Support local selon votre pays : Support international
Dédit de responsabilité
Les informations contenues dans la Base de connaissances Microsoft sont fournies « en l'état », sans garantie d'aucune sorte. Microsoft exclut toute garantie, expresse ou implicite, notamment toute garantie de qualité et d'adéquation à un usage particulier. En aucun cas la société Microsoft ou ses fournisseurs ne pourront être tenus pour responsables de quelque dommage que ce soit, y compris toute perte de bénéfices directe, indirecte ou accessoire, ou de dommages spéciaux, même si la société Microsoft a été prévenue de l'éventualité de tels dommages. Certains pays n'autorisent pas l'exclusion ou la limitation de responsabilité pour les dommages indirects ou accessoires, de sorte que la restriction mentionnée ci-dessus peut ne pas vous concerner.
Révisions
- V1.0 (10 décembre 2013) : Bulletin publié.
Built at 2014-04-18T01:50:00Z-07:00