NETSDK1238 : le SDK .NET actuel présente des vulnérabilités connues

Cet avertissement indique que le KIT de développement logiciel (SDK) .NET utilisé pour générer votre projet comporte une ou plusieurs vulnérabilités et expositions courantes connues. Le message d’avertissement complet est similaire à l’exemple suivant :

NETSDK1238 : le SDK .NET actuel (<version>) présente des vulnérabilités connues (liste <CVE>). Effectuez une mise à jour vers la version<>. Voir https://dotnet.microsoft.com/download

Pour résoudre l’avertissement, installez un kit sdk de .NET corrigé à partir de https://dotnet.microsoft.com/download et mettez à jour votre global.json (le cas échéant) pour sélectionner la nouvelle version.

Fonctionnement de la vérification

La vérification est activée et s’exécute uniquement lorsque la propriété CheckSdkVulnerabilities MSBuild est définie sur true:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <CheckSdkVulnerabilities>true</CheckSdkVulnerabilities>
  </PropertyGroup>
</Project>

Vous pouvez également passer /p:CheckSdkVulnerabilities=true à une commande CLI .NET, telle que dotnet build.

Par défaut, l’interface CLI de .NET actualise en arrière-plan un cache local des métadonnées de version du SDK au plus une fois toutes les 24 heures dans ~/.dotnet/sdk-vulnerability-cache/. Pour modifier cet intervalle, définissez DOTNET_SDK_VULNERABILITY_CHECK_INTERVAL_HOURS. Le contrôle MSBuild lit uniquement ce cache. Il n’effectue pas de requêtes réseau pendant la génération. Sur les machines qui n’ont jamais eu d’accès réseau, aucun avertissement n’est émis.

Supprimer l’avertissement

Pour supprimer l’avertissement sans mettre à jour le Kit de développement logiciel (SDK) :

  • Ajouter NETSDK1238 à NoWarn:

    <NoWarn>$(NoWarn);NETSDK1238</NoWarn>
    
  • CheckSdkVulnerabilities Définissez false sur (valeur par défaut) pour désactiver NETSDK1238, NETSDK1239 et NETSDK1240.

  • Définissez la variable d’environnement DOTNET_SDK_VULNERABILITY_CHECK_DISABLE sur true pour désactiver à la fois l’actualisation du cache et la vérification à la compilation.

Voir aussi