NETSDK1238: A jelenlegi .NET SDK ismert biztonsági résekkel rendelkezik

Ez a figyelmeztetés azt jelzi, hogy a projekt létrehozásához használt .NET SDK egy vagy több ismert gyakori biztonsági rést és kitettséget (CVE- t) használ. A teljes figyelmeztető üzenet a következő példához hasonló:

NETSDK1238: Az aktuális .NET SDK (<version>) ismert biztonsági résekkel rendelkezik (<CVE lista>). Frissítés verzióverzióra<>. Lásd: https://dotnet.microsoft.com/download

A figyelmeztetés feloldásához telepítsen egy javított .NET SDK-t a https://dotnet.microsoft.com/download-ból, és frissítse a global.json (ha van) az új verzió kiválasztásához.

A csekk működése

Az ellenőrzés opcionális, és csak akkor fut le, ha a(z) CheckSdkVulnerabilities MSBuild-tulajdonság értéke true értékre van állítva:

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

A /p:CheckSdkVulnerabilities=true egy .NET CLI-parancsnak is átadható, például dotnet build.

Alapértelmezés szerint a .NET parancssori felület a háttérben legfeljebb 24 óránként frissíti az SDK kiadási metaadatainak helyi gyorsítótárát a ~/.dotnet/sdk-vulnerability-cache/ alatt. Az intervallum módosításához állítsa be a következőt DOTNET_SDK_VULNERABILITY_CHECK_INTERVAL_HOURS: Az MSBuild-ellenőrzés csak ezt a gyorsítótárat olvassa be; nem indít hálózati hívásokat a buildelés során. Az olyan gépeken, amelyekhez soha nem volt hálózati hozzáférés, a rendszer nem bocsát ki figyelmeztetést.

A figyelmeztetés mellőzése

A figyelmeztetés mellőzése az SDK frissítése nélkül:

  • Adja hozzá a(z) NETSDK1238 elemet ehhez: NoWarn

    <NoWarn>$(NoWarn);NETSDK1238</NoWarn>
    
  • Állítsa CheckSdkVulnerabilities (alapértelmezett) értékre false a NETSDK1238, NETSDK1239 és NETSDK1240 kikapcsolásához.

  • Állítsa be a DOTNET_SDK_VULNERABILITY_CHECK_DISABLE környezeti változót úgy, hogy true letiltsa a gyorsítótár frissítését és a buildelési idő ellenőrzését.

Lásd még