Graphique en barres montrant l'exposition à la CVE-2026-40372 par secteur d'activité : Industrie (26,2%), Énergie (17,4%), Technologies de l'information (12,8%) et Autres (43,6%)
Tech & Gaming

ASP.NET Core sur macOS et Linux : une faille critique exige une mise à jour immédiate

Faille critique (CVSS 9.1) dans ASP.NET Core sur macOS/Linux : un attaquant peut falsifier les cookies d'authentification et prendre le contrôle total du serveur.

As-tu aimé cet article ?

La faille CVE-2026-40372 dans le composant Data Protection d'ASP.NET Core permet à un attaquant non authentifié de falsifier des cookies d'authentification et de prendre le contrôle d'une application web. Le risque concerne uniquement les systèmes macOS et Linux.

Capture d'écran de la page GitHub Advisory Database pour CVE-2026-40372 détaillant la vulnérabilité d'élévation de privilèges critique dans ASP.NET Core
Capture d'écran de la page GitHub Advisory Database pour CVE-2026-40372 détaillant la vulnérabilité d'élévation de privilèges critique dans ASP.NET Core — (source)

Ce que peut faire un attaquant avec CVE-2026-40372

La faille a une sévérité CVSS de 9.1, le niveau maximum pour une faille d'élévation de privilèges. Elle affecte les versions 10.0.0 à 10.0.6 du package NuGet Microsoft.AspNetCore.DataProtection. ASP.NET Core est un framework web open-source et multiplateforme utilisé pour construire des sites et des API. Le composant Data Protection sécurise les données sensibles comme les cookies de session et les jetons d'authentification.

La cause est une erreur de validation HMAC dans ManagedAuthenticatedEncryptor. Le code calcule une empreinte de sécurité sur les mauvais octets du payload, ce qui permet de contourner la vérification d'intégrité des données protégées.

Si les conditions sont réunies, un attaquant peut :
- Falsifier des cookies d'authentification pour se connecter en tant qu'administrateur.
- Escalader ses privilèges jusqu'au niveau SYSTEM sur le serveur.
- Lire ou modifier des fichiers sur le système compromis.
- Déchiffrer des jetons protégés comme les jetons antiforgery ou les états OpenID Connect.

Graphique en barres montrant l'exposition à la CVE-2026-40372 par secteur d'activité : Industrie (26,2%), Énergie (17,4%), Technologies de l'information (12,8%) et Autres (43,6%)
Graphique en barres montrant l'exposition à la CVE-2026-40372 par secteur d'activité : Industrie (26,2%), Énergie (17,4%), Technologies de l'information (12,8%) et Autres (43,6%) — (source)

Trois conditions cumulatives rendent une application vulnérable : elle doit utiliser une version affectée du package NuGet, cette copie doit être chargée au runtime, et elle doit tourner sur un système non-Windows. La menace est théorique à ce stade : aucune exploitation active n'est signalée et aucun proof-of-concept n'est public. Microsoft a publié le correctif hors cycle le 22 avril 2026, une pratique rare qui indique l'urgence de la situation.

Pourquoi seulement les systèmes non-Windows ?

La différence tient à l'implémentation cryptographique. Sur Windows, .NET utilise le chemin natif CNG (Cryptography Next Generation), qui n'est pas affecté. Sur macOS et Linux, le framework utilise une implémentation managée en C# (ManagedAuthenticatedEncryptor), qui contient le bogue. Les applications hébergées sur des serveurs Linux, courants dans les environnements cloud modernes ou les conteneurs Docker, sont les plus exposées.

Mettez à jour immédiatement et révoquez vos clés

La première étape est la mise à jour du package NuGet Microsoft.AspNetCore.DataProtection vers la version 10.0.7. Vous devez ensuite rebulider et redéployer votre application. Si vous utilisez une application auto-contenue (self-contained) ou une compilation AOT (Ahead-of-Time), vous devez impérativement la rebulilder contre la nouvelle version 10.0.7. Le simple remplacement du fichier binaire ne suffit pas.

Mettre à jour le code ne suffit pas. Vous devez aussi révoquer toutes les anciennes clés de protection des données. Utilisez la méthode RevokeAllKeys pour marquer toutes les clés existantes comme révoquées. Le système générera automatiquement une nouvelle clé pour les futurs jetons. Cette rotation est essentielle pour empêcher un attaquant d'utiliser des jetons signés avec une ancienne clé compromise avant la mise à jour. Après la rotation, les utilisateurs devront se reconnecter, mais leurs anciens jetons seront invalides.

Capture d'écran de l'avis de sécurité Microsoft sur GitHub concernant la vulnérabilité CVE-2026-40372 dans ASP.NET Core, daté du 21 avril 2026
Capture d'écran de l'avis de sécurité Microsoft sur GitHub concernant la vulnérabilité CVE-2026-40372 dans ASP.NET Core, daté du 21 avril 2026 — (source)

Le CERT Santé français a publié un avertissement le 22 avril 2026 concernant cette CVE. Si votre application utilise une base de données pour stocker les clés de protection, assurez-vous que la base est accessible et que la rotation a bien été prise en compte.

Cette faille s'ajoute à d'autres alertes récentes pour les hébergeurs web, comme la faille cPanel CVE-2026-41940. Elle illustre l'importance de suivre les mises à jour de sécurité, notamment pour les composants critiques comme le stockage de clés, un sujet déjà sensible lors des failles Storm-0558 sur le cloud Microsoft.

As-tu aimé cet article ?

Questions fréquentes

Qu'est-ce que la faille CVE-2026-40372 dans ASP.NET Core ?

C'est une faille critique dans le composant Data Protection qui permet à un attaquant non authentifié de falsifier des cookies d'authentification et de prendre le contrôle d'une application web. Elle concerne uniquement les systèmes macOS et Linux.

Quelles applications sont vulnérables à CVE-2026-40372 ?

Les applications utilisant le package NuGet `Microsoft.AspNetCore.DataProtection` (versions 10.0.0 à 10.0.6) et tournant sur macOS ou Linux. Trois conditions cumulatives sont nécessaires : la version affectée, son chargement au runtime et un système non-Windows.

Pourquoi cette faille n'affecte-t-elle pas Windows ?

Sur Windows, .NET utilise le chemin natif CNG (Cryptography Next Generation), qui n'est pas affecté. Sur macOS et Linux, le framework utilise une implémentation managée en C# (`ManagedAuthenticatedEncryptor`) qui contient le bogue de validation HMAC.

Comment corriger la faille CVE-2026-40372 ?

Mettez à jour le package `Microsoft.AspNetCore.DataProtection` vers la version 10.0.7, rebuildez et redéployez l'application. Il faut aussi révoquer toutes les anciennes clés de protection avec la méthode `RevokeAllKeys` pour forcer la génération de nouvelles clés.

Quels risques un attaquant peut-il exploiter avec CVE-2026-40372 ?

Un attaquant peut falsifier des cookies pour se connecter en tant qu'administrateur, escalader ses privilèges au niveau SYSTEM, lire ou modifier des fichiers, et déchiffrer des jetons protégés comme les jetons antiforgery ou les états OpenID Connect.

Sources

  1. cert.ssi.gouv.fr · cert.ssi.gouv.fr
  2. cyberveille.esante.gouv.fr · cyberveille.esante.gouv.fr
  3. cycognito.com · cycognito.com
  4. devblogs.microsoft.com · devblogs.microsoft.com
  5. github.com · github.com
pro-gamer
Théo Verbot @pro-gamer

L'esport, c'est ma vie. Je suis tous les tournois, je connais les rosters par cœur, je peux t'expliquer la méta actuelle de n'importe quel jeu compétitif. Étudiant en marketing du sport à Paris, je rêve de devenir commentateur esport professionnel. En attendant, je cast des tournois amateurs sur Twitch et j'analyse les matchs comme d'autres analysent le foot. Le gaming, c'est du sport. Point.

435 articles 0 abonnés

Commentaires (0)

Connexion pour laisser un commentaire.

Chargement des commentaires...