Publié le 12 novembre 2025 à 10h26. Microsoft a récemment corrigé une vulnérabilité critique dans ASP.NET Core, classée avec un score maximal de 9,9 sur 10, qui pourrait permettre à des attaquants de contourner les mesures de sécurité en exploitant une interprétation incohérente des requêtes HTTP.
- Une vulnérabilité critique (CVE-2025-55315) affecte ASP.NET Core 8, 9, 10 et le package Kestrel 2.x.
- L’exploitation de cette faille, liée à la contrebande de requêtes HTTP, pourrait conduire à une élévation de privilèges ou à une manipulation de requêtes.
- Microsoft recommande vivement d’appliquer les correctifs disponibles pour se protéger contre cette menace.
La vulnérabilité, identifiée dans les versions ASP.NET Core 10.0, 9.0 et 8.0, ainsi que dans le package Kestrel pour les versions 2.x, permet à un attaquant déjà authentifié de contourner les mécanismes de sécurité. Le problème réside dans une analyse incohérente des requêtes et des réponses HTTP. Selon Microsoft, il n’existe actuellement aucun moyen d’atténuer le risque autre que l’application des correctifs de sécurité.
La contrebande de requêtes HTTP (en anglais, HTTP request smuggling) exploite les divergences dans la manière dont les serveurs web et les serveurs proxy interprètent les requêtes HTTP. En utilisant des en-têtes tels que Content-Length ou Transfer-Encoding, un attaquant peut dissimuler une requête dans une autre, potentiellement contournant les contrôles de sécurité. Le Microsoft Security Response Center explique :
« Le score de 9,9 reflète l’importance de résoudre rapidement ce problème, qui implique un contournement des fonctionnalités de sécurité qui peut influencer la manière dont les applications appliquent l’authentification et l’autorisation. (…) Selon la manière dont votre application traite les requêtes, cela pourrait activer des techniques telles que l’élévation de privilèges ou la manipulation de requêtes si elles ne sont pas corrigées. »
Microsoft Security Response Center
Barry Dorrans, responsable de la sécurité pour .NET chez Microsoft, a précisé que le score élevé était justifié par l’impact potentiel sur les applications construites avec ASP.NET Core :
« Le bogue active la contrebande de requêtes HTTP, ce qui, à lui seul, pour ASP.NET Core, serait loin d’être aussi élevé, mais ce n’est pas ainsi que nous évaluons les choses. Au lieu de cela, nous notons en fonction de la manière dont le bogue pourrait affecter les applications construites sur ASP.NET. »
Barry Dorrans, responsable de la sécurité pour .NET chez Microsoft
Andrew Lock, ingénieur chez Datadog et auteur de .NET Escapades, a publié un article intitulé Comprendre la pire vulnérabilité .NET jamais vue, détaillant un exemple concret de contrebande de requêtes. Il souligne que :
« Pour les applications ASP.NET Core, si vous travaillez avec HttpRequest.Body ou HttpRequest.BodyReader, ou d’autres méthodes similaires, vous pouvez être vulnérable aux attaques même si vous n’utilisez pas explicitement de serveur proxy. Même si vous ne considérez pas votre application comme un proxy ou comme utilisant un proxy, si vous faites des choses « de type proxy », vous pourriez alors être vulnérable. »
Andrew Lock, ingénieur chez Datadog
Les conséquences potentielles de cette vulnérabilité sont multiples : élévation de privilèges, falsification de requête côté serveur (SSRF), contournement de la protection contre la falsification de requête intersite (CSRF) et attaques par injection contournant la validation des entrées. Microsoft conseille aux développeurs de vérifier la configuration de leurs serveurs proxy et de s’assurer qu’ils normalisent les requêtes et détectent les tentatives de contrebande.
Pour aider les développeurs à évaluer leur exposition, Hayden Barnes, responsable partenaire senior open source chez HeroDevs, a mis à disposition une application console ASP.NET Core permettant de reproduire et de tester le comportement lié à la contrebande de requêtes HTTP.
La confusion initiale concernant l’impact de cette vulnérabilité sur les versions plus anciennes de .NET, notamment .NET 6 et les versions antérieures, a été largement discutée sur Reddit. Des développeurs ont partagé leurs analyses et leurs outils pour déterminer si leurs applications étaient affectées (discussion sur Reddit).
Pour corriger cette vulnérabilité, Microsoft recommande d’installer les versions corrigées d’ASP.NET Core 8, 9 ou 10, ou de mettre à jour le package Microsoft.AspNetCore.Server.Kestrel.Core vers la version 2.3.6 ou ultérieure. Des correctifs tiers sont également disponibles pour les versions non prises en charge de .NET 6 (FAQ sur la vulnérabilité CVE-2025-55315).
