NETSDK1238: De huidige .NET SDK heeft bekende beveiligingsproblemen

Deze waarschuwing geeft aan dat de .NET SDK die wordt gebruikt voor het bouwen van uw project een of meer bekende veelvoorkomende beveiligingsproblemen en blootstellingen (CVE's) bevat. Het volledige waarschuwingsbericht is vergelijkbaar met het volgende voorbeeld:

NETSDK1238: De huidige .NET SDK (<version>) heeft bekende beveiligingsproblemen (<CVE-lijst>). Bijwerken naar <versie>. Zie https://dotnet.microsoft.com/download

Als u de waarschuwing wilt oplossen, installeert u een gepatchte .NET SDK vanuit https://dotnet.microsoft.com/download en werkt u uw global.json (indien aanwezig) bij om de nieuwe versie te selecteren.

Hoe de controle werkt

De controle is opt-in en wordt alleen uitgevoerd wanneer de MSBuild-eigenschap CheckSdkVulnerabilities is ingesteld op true:

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

U kunt /p:CheckSdkVulnerabilities=true ook doorgeven aan een .NET CLI-opdracht, zoals dotnet build.

Standaard vernieuwt de .NET CLI een lokale cache met SDK-releasemetagegevens op de achtergrond maximaal elke 24 uur onder ~/.dotnet/sdk-vulnerability-cache/. Als u dat interval wilt wijzigen, stelt u DOTNET_SDK_VULNERABILITY_CHECK_INTERVAL_HOURS in. De MSBuild-controle leest alleen die cache; er worden geen netwerkoproepen uitgevoerd tijdens de build. Op computers die nooit netwerktoegang hebben, wordt er geen waarschuwing verzonden.

De waarschuwing onderdrukken

De waarschuwing onderdrukken zonder de SDK bij te werken:

  • Toevoegen NETSDK1238 aan NoWarn:

    <NoWarn>$(NoWarn);NETSDK1238</NoWarn>
    
  • Ingesteld CheckSdkVulnerabilities op false (de standaardinstelling) om NETSDK1238, NETSDK1239 en NETSDK1240 uit te schakelen.

  • Stel de DOTNET_SDK_VULNERABILITY_CHECK_DISABLE-omgevingsvariabele in op true om zowel het verversen van de cache als de controle tijdens het bouwen uit te schakelen.

Zie ook