Megosztás a következőn keresztül:


Microsoft Security Advisory 4021279

A .NET Core ASP.NET Core biztonsági rései lehetővé tehetik a jogosultságszint emelését

Közzétéve: 2017. május 9. | Frissítve: 2017. május 10.

Verzió: 1.1

Vezetői összefoglaló

A Microsoft kiadja ezt a biztonsági tanácsadót, amely információkat nyújt a nyilvános .NET Core és ASP.NET Core biztonsági réseiről. Ez a tanácsadás azt is ismerteti, hogy a fejlesztők mit tehetnek az alkalmazásaik helyes frissítéséhez.

A .NET Core &ASP.NET Core a .NET következő generációja, amely ismerős és modern keretrendszert biztosít a webes és felhőbeli forgatókönyvekhez. Ezeket a termékeket a .NET és ASP.NET csapata aktívan fejleszti, együttműködve nyílt forráskód fejlesztők közösségével, amelyek Windows, Mac OS X és Linux rendszeren futnak. A .NET Core kiadásakor a verziószám 1.0.0-ra lett visszaállítva, hogy tükrözze azt a tényt, hogy ez egy külön termék a megelőző -.NET-től.

Probléma önéletrajzai és leírása

CVE Leírás
CVE-2017-0247 Szolgáltatásmegtagadás
CVE-2017-0248 Biztonsági funkció megkerülése
CVE-2017-0249 Jogosultsági szint emelése
CVE-2017-0256 Identitáshamisítás

Érintett szoftver

A biztonsági rések bármely Microsoft .NET Core-projektet érintenek, ha az alábbi érintett csomagverziókat használja.

Érintett csomag és verzió
Csomag neve Csomagverziók Rögzített csomagverziók
System.Text.Encodings.Web 4.0.0 4.3.0 4.0.1 4.3.1
System.Net.Http 4.1.1 4.3.1 4.1.2 4.3.2
System.Net.Http.WinHttpHandler 4.0.1 4.3.0 4.0.2 4.3.1
System.Net.Security 4.0.0 4.3.0 4.0.1 4.3.1
System.Net.WebSockets.Client 4.0.0 4.3.0 4.0.1 4.3.1
Microsoft.AspNetCore.Mvc 1.0.0, 1.0.1, 1.0.2, 1.0.3 1.1.0, 1.1.1, 1.1.2 1.0.4 1.1.3
Microsoft.AspNetCore.Mvc.Core 1.0.0, 1.0.1, 1.0.2, 1.0.3 1.1.0, 1.1.1, 1.1.2 1.0.4 1.1.3
Microsoft.AspNetCore.Mvc.Absztrakciók 1.0.0, 1.0.1, 1.0.2, 1.0.3 1.1.0, 1.1.1, 1.1.2 1.0.4 1.1.3
Microsoft.AspNetCore.Mvc.ApiExplorer 1.0.0, 1.0.1, 1.0.2, 1.0.3 1.1.0, 1.1.1, 1.1.2 1.0.4 1.1.3
Microsoft.AspNetCore.Mvc.Cors 1.0.0, 1.0.1, 1.0.2, 1.0.3 1.1.0, 1.1.1, 1.1.2 1.0.4 1.1.3
Microsoft.AspNetCore.Mvc.DataAnnotations 1.0.0, 1.0.1, 1.0.2, 1.0.3 1.1.0, 1.1.1, 1.1.2 1.0.4 1.1.3
Microsoft.AspNetCore.Mvc.Formatters.Json 1.0.0, 1.0.1, 1.0.2, 1.0.3 1.1.0, 1.1.1, 1.1.2 1.0.4 1.1.3
Microsoft.AspNetCore.Mvc.Formatters.Xml 1.0.0, 1.0.1, 1.0.2, 1.0.3 1.1.0, 1.1.1, 1.1.2 1.0.4 1.1.3
Microsoft.AspNetCore.Mvc.Localization 1.0.0, 1.0.1, 1.0.2, 1.0.3 1.1.0, 1.1.1, 1.1.2 1.0.4 1.1.3
Microsoft.AspNetCore.Mvc.Razor.Host 1.0.0, 1.0.1, 1.0.2, 1.0.3 1.1.0, 1.1.1, 1.1.2 1.0.4 1.1.3
Microsoft.AspNetCore.Mvc.Razor 1.0.0, 1.0.1, 1.0.2, 1.0.3 1.1.0, 1.1.1, 1.1.2 1.0.4 1.1.3
Microsoft.AspNetCore.Mvc.TagHelpers 1.0.0, 1.0.1, 1.0.2, 1.0.3 1.1.0, 1.1.1, 1.1.2 1.0.4 1.1.3
Microsoft.AspNetCore.Mvc.ViewFeatures 1.0.0, 1.0.1, 1.0.2, 1.0.3 1.1.0, 1.1.1, 1.1.2 1.0.4 1.1.3
Microsoft.AspNetCore.Mvc.WebApiCompatShim 1.0.0, 1.0.1, 1.0.2, 1.0.3 1.1.0, 1.1.1, 1.1.2 1.0.4 1.1.3

Tanácsadás – gyakori kérdések

Hogyan tudom, hogy érintett vagyok-e?
A .NET Core és a ASP.NET Core kétféle függőséget különböztet meg: közvetlen és tranzitív. Ha a projekt közvetlen vagy tranzitív függőségben van a korábban felsorolt csomagoktól és verzióktól, az érintett.

Feljegyzés

A ASP.NET Core MVC javítása részeként minden Microsoft.AspNetCore.Mvc.* csomagot frissítünk. Ha például függősége van a Microsoft.AspNetCore.Mvc-ről, először a megfelelő verzióra kell frissítenie (az 1.0.x-et 1.0.4-esre kell frissíteni, az 1.1.x-et 1.1.3-ra kell frissíteni), és az egyéb sebezhető Microsoft.AspNetCore.Mvc függőségeket is frissíti.

.NET Core-projektformátumok

A .NET Core két különböző projektfájlformátumot használ attól függően, hogy melyik szoftver hozta létre a projektet.

  1. project.json a .NET Core 1.0 és a Microsoft Visual Studio 2015 eredeti formátuma.
  2. a csproj a Microsoft Visual Studio 2017-ben használt formátum.

Győződjön meg arról, hogy a projekttípushoz megfelelő frissítési utasításokat követi.

Közvetlen függőségek

A közvetlen függőségek olyan függőségek, amelyekben kifejezetten hozzáad egy csomagot a projekthez. Ha például hozzáadja a Microsoft.AspNetCore.Mvc csomagot a projekthez, akkor közvetlen függőséget vállalt a Microsoft.AspNetCore.Mvc szolgáltatástól.

A közvetlen függőségek a project.json vagy a csproj fájl áttekintésével deríthetők fel.

Tranzitív függőségek

Tranzitív függőségek akkor fordulnak elő, ha olyan csomagot vesz fel a projektbe, amely egy másik csomagra támaszkodik. Ha például hozzáadja a Microsoft.AspNetCore.Mvc csomagot a projekthez, az a Microsoft.AspNetCore.Mvc.Core csomagtól függ (többek között). A projekt közvetlen függőséget kínál a Microsoft.AspNetCore.Mvc-hez, és tranzitív függőséget a Microsoft.AspNetCore.Mvc.Core csomaghoz.

A tranzitív függőségek áttekinthetők a Visual Studio Megoldáskezelő ablakában, amely támogatja a keresést, vagy a projekt gyökérkönyvtárában található project.lock.json fájl áttekintésével project.json projektekhez, vagy a projekt obj könyvtárában található project.assets.json fájl csproj-projektekhez. Ezek a fájlok a projekt által használt összes csomag mérvadó listája, amely közvetlen és tranzitív függőségeket is tartalmaz.

Hogyan kijavítani az érintett alkalmazást?

A közvetlen függőségeket is ki kell javítania, és felül kell vizsgálnia és ki kell javítania az átvitt függőségeket. Az előző "Érintett szoftver" szakaszban szereplő érintett csomagok és verziók tartalmazzák az egyes sebezhető csomagokat, a sebezhető verziókat és a javított verziókat.

Ha ASP.NET Core MVC-t használ a projektjeiben, először frissítse a Microsoft.AspNetCore.Mvc verziót az előző érintett verziók táblázatának megfelelően. Ha jelenleg az 1.0.0-s, 1.0.1-es, 1.0.2-es vagy 1.0.3-os verziót használja, frissítse a csomagverziót az 1.0.4-es verzióra. Ha az 1.1.0-s, 1.1.1-es vagy 1.1.2-es verziót használja, frissítse a csomag verzióját az 1.1.3-ra. Ez minden MVC-csomagot a rögzített verziókra frissít.

Közvetlen függőségek javítása – project.json/VS2015

Nyissa meg a project.json fájlt a szerkesztőben. Keresse meg a függőségek szakaszt. Az alábbiakban egy példa függőségek szakaszt mutatunk be:

    "dependencies": {
        "Microsoft.NETCore.App": {
          "version": "1.0.1",
          "type": "platform"
        },
        "Microsoft.AspNetCore.Server.Kestrel": "1.0.1",
        "Microsoft.AspNetCore.Mvc ": "1.0.1",
         
      }

Ez a példa három közvetlen függőséget kínál: Microsoft.NETCore.App, Microsoft.AspNetCore.Server.Kestrel és Microsoft.AspNetCore.Mvc.

Microsoft.NetCore.App az alkalmazás platformja, ezt figyelmen kívül kell hagynia. A többi csomag a csomagnév jobb oldalán teszi elérhetővé a verziót. A példánkban a nem platformalapú csomagjaink az 1.0.1-es verziót tartalmazzák.

Tekintse át a korábban felsorolt csomagok és verziók közvetlen függőségeit. Az előző példában közvetlen függőség áll fenn az egyik sebezhető csomagtól, a Microsoft.AspNetCore.Mvc 1.0.1-es verziójától.

A rögzített csomagra való frissítéshez módosítsa a verziószámot úgy, hogy az a kiadás megfelelő csomagja legyen. A példában ez a Microsoft.AspNetCore.Mvc frissítése 1.0.4-re.

A sebezhető csomagverziók frissítése után mentse a project.json fájlt.

A példánk függőségek szakasza project.json a következőképpen nézne ki:

      "dependencies": {
        "Microsoft.NETCore.App": {
          "version": "1.0.1",
          "type": "platform"
        },
        "Microsoft.AspNetCore.Server.Kestrel": "1.0.1",
        "Microsoft.AspNetCore.Mvc": "1.0.4",
          
      }

Ha a Visual Studiót használja, és menti a frissített project.json fájlt, a Visual Studio visszaállítja az új csomagverziót. A visszaállítási eredményeket a Kimeneti ablak (Ctrl+Alt+O) megnyitásával és a Kimenet megjelenítése legördülő listáról Csomagkezelő értékre való módosításával tekintheti meg.

Ha nem a Visual Studiót használja, nyisson meg egy parancssort, és váltson a projektkönyvtárra. Hajtsa végre a dotnet restore parancsot az új függőség visszaállításához.

Miután az összes közvetlen függőségét megoldotta, át kell tekintenie az átvitt függőségeket is.

Közvetlen függőségek javítása – csproj/VS2017

Nyissa meg a projectname.csproj fájlt a szerkesztőben, vagy kattintson a jobb gombbal a projektre a Visual Studio 2017-ben, és válassza a Tartalom menüBen a Projectname.csproj szerkesztése lehetőséget, ahol a projekt neve a projekt neve. Keresse meg a PackageReference csomópontokat. Az alábbiakban egy példaprojektfájl látható:


    <project sdk="Microsoft.NET.Sdk.Web">
<propertygroup>
<targetframework>netcoreapp1.1</targetframework>
</propertygroup>
<propertygroup>
<packagetargetfallback>$(PackageTargetFallback);portable-net45+win8+wp8+wpa81;</packagetargetfallback>
</propertygroup>
<itemgroup>
<packagereference include="Microsoft.AspNetCore" version="1.1.1">
</packagereference><packagereference include="Microsoft.AspNetCore.Mvc" version="1.1.2">
</packagereference></itemgroup>
<itemgroup>
<dotnetclitoolreference include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" version="1.0.0 ">
</dotnetclitoolreference></itemgroup>
</project>

A példában két közvetlen csomagfüggőség található, ahogy azt a két PackageReference-elem is szemlélteti. A csomag neve az Include attribútumban található, a csomag verziószáma pedig a Csomagnév jobb oldalán látható Verzió attribútumban található. A példában a Microsoft.AspNetCore 1.1.1-es verziója és a Microsoft.AspNetCore.Mvc.Core 1.1.2-es verziója látható.

Tekintse át a PackageReference elemeit a korábban felsorolt csomagok és verziók bármely példányában. Az előző példában közvetlen függőség áll fenn az egyik sebezhető csomagtól, a Microsoft.AspNetCore.Mvc 1.1.2-es verziójától.

A rögzített csomagra való frissítéshez módosítsa a verziószámot a kiadáshoz megfelelő csomagra. A példában ez a Microsoft.AspNetCore.Mvc frissítése 1.1.3-ra.

A sebezhető csomagverzió frissítése után mentse a csproj-fájlt.

A példa csproj most a következőképpen nézne ki:


    <project sdk="Microsoft.NET.Sdk.Web">
<propertygroup>
<targetframework>netcoreapp1.1</targetframework>
</propertygroup>
<propertygroup>
<packagetargetfallback>$(PackageTargetFallback);portable-net45+win8+wp8+wpa81;</packagetargetfallback>
</propertygroup>
<itemgroup>
<packagereference include="Microsoft.AspNetCore" version="1.1.1">
</packagereference><packagereference include="Microsoft.AspNetCore.Mvc.Core" version="1.1.3">
</packagereference></itemgroup>
<itemgroup>
<dotnetclitoolreference include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" version="1.0.0 ">
</dotnetclitoolreference></itemgroup>
</project>

Ha a Visual Studiót használja, és menti a frissített csproj-fájlt, a Visual Studio visszaállítja az új csomagverziót. A visszaállítási eredményeket a Kimeneti ablak (Ctrl+Alt+O) megnyitásával és a Kimenet megjelenítése legördülő listáról Csomagkezelő értékre való módosításával tekintheti meg.

Ha nem a Visual Studiót használja, nyisson meg egy parancssort, és váltson a projektkönyvtárra. Hajtsa végre a dotnet restore parancsot az új függőség visszaállításához.

Az alkalmazás újrafordítása.

Ha az újrafordítás után függőségi ütközési figyelmeztetés jelenik meg, a többi közvetlen függőséget a megfelelő verzióra kell frissítenie. Ha például a projekt a Microsoft.AspNetCore.Routing 1.0.1-es verziószámmal hivatkozik a Microsoft.AspNetCore.Mvc csomag 1.0.4-es verziójára való frissítésekor, a fordítás a következőt fogja eredményezni:

NU1012 függőségi ütközés. Microsoft.AspNetCore.Mvc.Core 1.0.4 várt Microsoft.AspNetCore.Routing >= 1.0.4, de 1.0.1-et kapott

Ennek kijavításához módosítsa a várt csomag verziószámát a csproj vagy a project.json frissítésével, ugyanúgy, mint a sebezhető csomagverziók frissítéséhez.

Miután az összes közvetlen függőségét megoldotta, át kell tekintenie az átvitt függőségeket is.

Tranzitív függőségek áttekintése

A tranzitív függőségek kétféleképpen tekinthetők meg. Használhatja a Visual Studio Megoldáskezelő, vagy áttekintheti a project.lock.json (project.json/VS2015) vagy project.assets.json (csproj/VS2017) fájlját.

A Visual Studio Megoldáskezelő (VS2015) használata

Ha a Visual Studio 2015-öt szeretné használni, nyissa meg a projektet a Visual Studio 2015-ben, majd nyomja le a Ctrl+; a keresés aktiválásához a Megoldáskezelő. Keresse meg az egyes sebezhető csomagneveket, és jegyezze fel a találatok verziószámait.

Ha például a Microsoft.AspNetCore.Mvc.Core fájlra keres egy példaprojektben, amely a Microsoft.AspNetCore.Mvc fájlra hivatkozik, az alábbi eredményeket jeleníti meg a Visual Studio 2015-ben.

1. ábra: Hivatkozások keresése a Visual Studio 2015-ben

A keresési eredmények faként jelennek meg. Ezekben az eredményekben láthatjuk, hogy a Microsoft.AspNetCore.Mvc 1.0.1-es verziójára, a sebezhető verzióra mutató hivatkozásokat találtunk.

A Hivatkozások fejléc alatti első bejegyzés az alkalmazás által használt célkeretre hivatkozik. Ez lesz . NETCoreApp, . NETStandard vagy . NET-Framework-vX.Y.Z (ahol az X.Y.Z egy tényleges verziószám) az alkalmazás konfigurálásának módjától függően. A cél keretrendszerben azon csomagok listája lesz látható, amelyekről közvetlenül függőséget vállalt. Ebben a példában az alkalmazás függőséget vesz fel a Microsoft.AspNetCore.Mvc-ről. A Microsoft.AspNetCore.Mvc viszont levélcsomópontokkal rendelkezik, amelyek felsorolják a függőségeit és azok verzióit. Ebben az esetben a Microsoft.AspNetCore.Mvc csomag függőséget vállal a Microsoft.AspNetCore.Mvc.Core sebezhető verziójától és számos más csomagtól.

Project.lock.json manuális áttekintése (project.json/VS2015)

Nyissa meg a project.lock.json fájlt a szerkesztőben. Javasoljuk, hogy használjon olyan szerkesztőt, amely ismeri a JSON-t, és lehetővé teszi a csomópontok összecsukása és kibontása a fájl áttekintéséhez; Ezt a funkciót a Visual Studio és a Visual Studio Code is biztosítja.

Ha a Visual Studiót használja, a project.lock.json fájl a project.json fájl alatt található. Kattintson a project.json fájltól balra a jobb mutató háromszögre (▷) kattintva bontsa ki a megoldásfát a project.lock.json fájl felfedéséhez. Az alábbi 1. ábrán egy olyan projekt látható, amely kibontja a project.json fájlt a project.lock.json fájl megjelenítéséhez.

2. ábra: project.lock.json fájl helye

Keressen rá a project.lock.json fájlban a "Microsoft.AspNetCore.Mvc.Core/1.1.0" sztringre. Ha a project.lock.json fájl tartalmazza ezt a sztringet, függősége van a sebezhető csomagtól.

Tranzitív függőségek javítása (project.json/VS2015)

Ha nem talált semmilyen sebezhető csomagra mutató hivatkozást, az azt jelenti, hogy egyik közvetlen függőség sem függ a sebezhető csomagoktól, vagy már kijavította a problémát a közvetlen függőségek frissítésével.

Ha az átvitt függőségi felülvizsgálat hivatkozásokat talált a sebezhető csomagok bármelyikére, közvetlen függőséget kell hozzáadnia a frissített csomaghoz a project.json fájlhoz, hogy felülbírálja az átvitt függőséget. Nyissa meg a project.json, és keresse meg a függőségek szakaszt. Példa:


      "dependencies": {
        "Microsoft.NETCore.App": {
          "version": "1.0.1",
          "type": "platform"
        },
        "Microsoft.AspNetCore.Server.Kestrel": "1.1.0",
        "Microsoft.AspNetCore.Mvc": "1.1.0"
      }

A keresés által visszaadott sebezhető csomagok mindegyikéhez közvetlen függőséget kell hozzáadnia a frissített verzióhoz úgy, hogy hozzáadja azt a project.json fájlhoz. Ezt úgy teheti meg, hogy hozzáad egy új sort a függőségek szakaszhoz, hivatkozva a rögzített verzióra. Ha például a keresés tranzitív hivatkozást mutat a sebezhető System.Net.Security 4.0.0-s verziójára, akkor a megfelelő rögzített verzióra, a 4.0.1-re mutató hivatkozást adna hozzá. Szerkessze a project.json fájlt az alábbiak szerint:


      "dependencies": {
        "Microsoft.NETCore.App": {
          "version": "1.0.1",
          "type": "platform"
        },
        "System.Net.Security": "4.0.1",
        "Microsoft.AspNetCore.Server.Kestrel": "1.1.0",
        "Microsoft.AspNetCore.Mvc": "1.1.1"
      }

Miután hozzáadta a közvetlen függőségeket a rögzített csomagokhoz, mentse a project.json fájlt.

Ha Visual Studio-t használ, mentse a frissített project.json fájlt, és a Visual Studio visszaállítja az új csomagverziókat. A visszaállítási eredményeket a Kimeneti ablak (Ctrl+Alt+O) megnyitásával és a Kimenet megjelenítése legördülő listáról Csomagkezelő értékre való módosításával tekintheti meg.

Ha nem a Visual Studiót használja, nyisson meg egy parancssort, és váltson a projektkönyvtárra. Hajtsa végre a dotnet restore parancsot az új függőségek visszaállításához.

A Visual Studio Megoldáskezelő (VS2017) használata

Ha Megoldáskezelő szeretne használni, nyissa meg a projektet a Visual Studio 2017-ben, majd nyomja le a Ctrl+; billentyűkombinációt a keresés aktiválásához a Megoldáskezelő. Keresse meg az egyes sebezhető csomagneveket, és jegyezze fel a találatok verziószámait.

Ha például a Microsoft.AspNetCore.Mvc.Core fájlra keres egy olyan példaprojektben, amely egy Microsoft.AspNetCore.Mvc függőséget tartalmazó csomagot tartalmaz, az alábbi eredményeket jeleníti meg a Visual Studio 2017-ben.

3. ábra: Hivatkozások keresése a Visual Studio 2017-ben

A keresési eredmények faként jelennek meg. Ezekben az eredményekben a Microsoft.AspNetCore.Mvc.Core 1.1.2-es verziójára mutató hivatkozásokat találtunk.

A Függőségek csomópont alatt egy NuGet-csomópont lesz. A NuGet-csomópont alatt azon csomagok listája lesz látható, amelyeken közvetlenül függőséget vett fel és azok verzióit. Ebben a példában az alkalmazás közvetlen függőséget vesz igénybe a Microsoft.AspNetCore.Mvc szolgáltatástól. A Microsoft.AspNetCore.Mvc viszont levélcsomópontokkal rendelkezik, amelyek felsorolják a függőségeit és azok verzióit. A példában a Microsoft.AspNetCore.Mvc csomag függőséget vesz fel a Microsoft.AspNetCore.Mvc.ApiExplorer egy verziójától, amely a Microsoft.AspNetCore.Mvc.Core sebezhető verziójától függ.

Project.assets.json manuális áttekintése (VS2017)

Nyissa meg a project.assets.json fájlt a projekt obj könyvtárából a szerkesztőben. Javasoljuk, hogy használjon olyan szerkesztőt, amely ismeri a JSON-t, és lehetővé teszi a csomópontok összecsukása és kibontása a fájl áttekintéséhez; Ezt a funkciót a Visual Studio és a Visual Studio Code is biztosítja.

Keressen rá a project.assets.json fájlban a sebezhető csomagok táblában szereplő egyes csomagnevekre, majd egy /. A Microsoft.AspNetCore.Mvc keresése például a "Microsoft.AspNetCore.Mvc/" keresési sztring használatával járna. Ha a project.assets.json fájl tartalmazza ezt a sztringet, és a teljes verziószám (a keresési találatok száma után/ után) megegyezik a korábban felsorolt sebezhető verziók egyikével, függősége van a sebezhető csomagtól.

Tranzitív függőségek javítása (csproj/VS2017)

Ha nem talált semmilyen sebezhető csomagra mutató hivatkozást, az azt jelenti, hogy egyik közvetlen függőség sem függ a sebezhető csomagoktól, vagy már kijavította a problémát a közvetlen függőségek frissítésével.

Ha az átvitt függőségi felülvizsgálat hivatkozásokat talált a sebezhető csomagok bármelyikére, akkor közvetlen függőséget kell hozzáadnia a frissített csomaghoz a csproj-fájlhoz, hogy felülbírálja az átvitt függőséget. Nyissa meg a projectname.csproj fájlt a szerkesztőben, vagy kattintson a jobb gombbal a projektre a Visual Studio 2017-ben, és válassza a Tartalom menüBen a Projectname.csproj szerkesztése lehetőséget, ahol a projekt neve a projekt neve. Keresse meg a PackageReference csomópontokat, például:


    <project sdk="Microsoft.NET.Sdk.Web">
<propertygroup>
<targetframework>netcoreapp1.1</targetframework>
</propertygroup>
<propertygroup>
<packagetargetfallback>$(PackageTargetFallback);portable-net45+win8+wp8+wpa81;</packagetargetfallback>
</propertygroup>
<itemgroup>
<packagereference include="Microsoft.AspNetCore" version="1.1.1">
</packagereference><packagereference include="Microsoft.AspNetCore.Mvc" version="1.1.3">
</packagereference></itemgroup>
<itemgroup>
<dotnetclitoolreference include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" version="1.0.0">
</dotnetclitoolreference></itemgroup>
</project>

A keresés által visszaadott sebezhető csomagok mindegyikéhez közvetlen függőséget kell hozzáadnia a frissített verzióhoz úgy, hogy hozzáadja azt a csproj-fájlhoz. Ezt úgy teheti meg, hogy hozzáad egy új sort a függőségek szakaszhoz, hivatkozva a rögzített verzióra. Ha például a keresés tranzitív hivatkozást mutat a sebezhető System.Net.Security 4.3.0-s verziójára, akkor a megfelelő rögzített verzióra, a 4.3.1-es verzióra mutató hivatkozást adna hozzá.


    <project sdk="Microsoft.NET.Sdk.Web">
<propertygroup>
<targetframework>netcoreapp1.1</targetframework>
</propertygroup>
<propertygroup>
<packagetargetfallback>$(PackageTargetFallback);portable-net45+win8+wp8+wpa81;</packagetargetfallback>
</propertygroup>
<itemgroup>
<packagereference include="System.Net.Security" version="4.3.1">
</packagereference><packagereference include="Microsoft.AspNetCore" version="1.1.1">
</packagereference><packagereference include="Microsoft.AspNetCore.Mvc" version="1.1.3">
</packagereference></itemgroup>
<itemgroup>
<dotnetclitoolreference include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" version="1.0.0">
</dotnetclitoolreference></itemgroup>

Miután hozzáadta a közvetlen függőségi hivatkozást, mentse a csproj-fájlt.

Ha Visual Studio-t használ, mentse a frissített csproj-fájlt, és a Visual Studio visszaállítja az új csomagverziókat. A visszaállítási eredményeket a Kimeneti ablak (Ctrl+Alt+O) megnyitásával és a Kimenet megjelenítése legördülő listáról Csomagkezelő értékre való módosításával tekintheti meg.

Ha nem a Visual Studiót használja, nyisson meg egy parancssort, és váltson a projektkönyvtárra. Hajtsa végre a dotnet restore parancsot az új függőségek visszaállításához.

Az alkalmazás újraépítése

Végül építse újra az alkalmazást, tesztelje a szokásos módon, és telepítse újra a kedvelt üzembehelyezési mechanizmussal.

Egyéb információk

Biztonsági problémák jelentése

  • Ha lehetséges biztonsági problémát talált a .NET Core-ban, küldjön e-mailt a részletekről. A jelentések jogosultak lehetnek a .NET Core-hibadíjra. A .NET Core-hibadíj részletei, beleértve a használati feltételeket is, https :.

Microsoft Active Protections Program (MAPP)

Az ügyfelek biztonságának javítása érdekében a Microsoft minden havi biztonsági frissítési kiadás előtt sebezhetőségi információkat nyújt a főbb biztonsági szoftverszolgáltatóknak. A biztonsági szoftverszolgáltatók ezt a biztonsági résinformációt felhasználhatják arra, hogy biztonsági szoftvereiken vagy eszközeiken keresztül frissített védelmet nyújtsanak az ügyfeleknek, például víruskereső, hálózati behatolásészlelő rendszerek vagy gazdagépalapú behatolás-megelőzési rendszerek segítségével. Annak megállapításához, hogy az aktív védelem elérhető-e a biztonsági szoftverszolgáltatóktól, keresse fel a programpartnerek által biztosított aktív védelmi webhelyeket a Microsoft Active Protections Program (MAPP) partnerei között.

Visszajelzés

Támogatás

  • A problémával kapcsolatban kérdéseket tehet fel a GitHubon a .NET Core-ban vagy ASP.NET Core-szervezetekben. Ezek a /https:>https: és </https:https:> címen <találhatók. Az egyes termékek (https://github.com/dotnet/Announcements és https://github.com/aspnet/Announcements) Közlemények adattára problémaként tartalmazza ezt a tanácsadást, és tartalmaz egy hivatkozást egy vitafórumra, ahol kérdéseket tehet fel.
  • A Egyesült Államok és Kanada ügyfelei technikai támogatást kaphatnak a biztonsági támogatástól. További információt a Microsoft súgójában és támogatásában talál.
  • A nemzetközi ügyfelek támogatást kaphatnak helyi Microsoft-leányvállalataiktól. További információ: Nemzetközi támogatás. * A Microsoft TechNet Security további információkat nyújt a Microsoft-termékek biztonságáról.

Köszönetnyilvánítás

A Microsoft köszönetét fejezi ki az alábbiakért, hogy együttműködve segít az ügyfelek védelmében:

  • David Fernandez a Sidertia Solutions-ről a szolgáltatásmegtagadás ASP.NET biztonsági résének jelentéséhez (CVE-2017-0247)
  • Mihail Shcherbakov a ASP.NET alapvető hamisítási biztonsági rés jelentéséért (CVE-2017-0256)

Felelősséget kizáró nyilatkozat

A jelen tanácsadásban megadott információk bármilyen garanciális szavatosság nélkül". A Microsoft kizár minden kifejezett vagy vélelmezett garanciát, beleértve a kereskedelmi forgalomra és az adott célra való alkalmasságra vonatkozó szavatosságot. A Microsoft Corporation vagy beszállítói semmilyen esetben sem vonhatók felelősségre semmilyen kárért, beleértve a közvetlen, közvetett, járulékos, következményi, üzleti nyereség elvesztését vagy különleges károkat, még akkor sem, ha a Microsoft Corporationt vagy szállítóit értesítették az ilyen károk lehetőségéről. Egyes államok nem teszik lehetővé a következményi vagy járulékos károkért való felelősség kizárását vagy korlátozását, így a fenti korlátozás nem alkalmazható.

Változatok

  • 1.0-s verzió (2017. május 9.): Tanácsadói közzététel.
  • V1.1 (2017. május 10.): A tanácsadó átdolgozott, hogy tartalmazza a kibocsátási cves-ek táblázatát és azok leírását. Ez csak tájékoztató jellegű változás.

Lap generálva 2017.05.10. 13:08-07:00. </https:>