Microsoft Security Advisory 4021279
Vulnerabilità in .NET Core, ASP.NET Core potrebbe consentire l'elevazione dei privilegi
Pubblicato: 9 maggio 2017 | Aggiornamento: 10 maggio 2017
Versione: 1.1
Schema riepilogativo
Microsoft sta rilasciando questo avviso di sicurezza per fornire informazioni sulle vulnerabilità in .NET Core pubblico e ASP.NET Core. Questo avviso offre anche informazioni aggiuntive sulle operazioni che gli sviluppatori possono eseguire per aggiornare le applicazioni in modo corretto.
.NET Core & ASP.NET Core sono la nuova generazione di .NET che forniscono un framework familiare e moderno per scenari Web e cloud. Questi prodotti vengono sviluppati attivamente dal team .NET e ASP.NET in collaborazione con una community di sviluppatori open source, in esecuzione in Windows, Mac OS X e Linux. Quando .NET Core è stato rilasciato, il numero di versione è stato reimpostato su 1.0.0 per riflettere il fatto che si tratta di un prodotto separato dal suo predecessore -.NET.
Rilasciare CVE e descrizione
CVE | Descrizione |
---|---|
CVE-2017-0247 | Denial of Service |
CVE-2017-0248 | Bypass delle funzionalità di sicurezza |
CVE-2017-0249 | Elevazione dei privilegi |
CVE-2017-0256 | Spoofing |
Software interessato
Le vulnerabilità influiscono su qualsiasi progetto Microsoft .NET Core se usa le versioni del pacchetto interessate seguenti.
Pacchetto e versione interessati | ||
---|---|---|
Nome pacchetto | Versioni del pacchetto | Correzione delle versioni dei pacchetti |
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.Abstractions | 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 |
Domande frequenti sugli avvisi
Ricerca per categorie sapere se sono interessato?
.NET Core e ASP.NET Core hanno due tipi di dipendenze: dirette e transitive. Se il progetto ha una dipendenza diretta o transitiva da uno dei pacchetti e delle versioni elencati in precedenza, si è interessati.
Nota
Come parte dell'applicazione di patch ASP.NET Core MVC, ogni pacchetto Microsoft.AspNetCore.Mvc.* viene aggiornato. Se, ad esempio, si ha una dipendenza da Microsoft.AspNetCore.Mvc, è necessario eseguire l'aggiornamento alla versione appropriata (1.0.x deve essere aggiornato alla versione 1.0.4, 1.1.x deve essere aggiornato alla versione 1.1.3) e aggiornerà anche qualsiasi altra dipendenza vulnerabile di Microsoft.AspNetCore.Mvc.
Formati di progetto .NET Core
.NET Core ha due formati di file di progetto diversi, a seconda del software creato dal progetto.
- project.json è il formato originale, incluso in .NET Core 1.0 e Microsoft Visual Studio 2015.
- csproj è il formato usato in Microsoft Visual Studio 2017.
È necessario assicurarsi di seguire le istruzioni di aggiornamento corrette per il tipo di progetto.
Dipendenze dirette
Le dipendenze dirette sono dipendenze in cui si aggiunge in modo specifico un pacchetto al progetto. Ad esempio, se si aggiunge il pacchetto Microsoft.AspNetCore.Mvc al progetto, si è acquisita una dipendenza diretta da Microsoft.AspNetCore.Mvc.
Le dipendenze dirette sono individuabili esaminando il file project.json o csproj.
Dipendenze transitive
Le dipendenze transitive si verificano quando si aggiunge un pacchetto al progetto che a sua volta si basa su un altro pacchetto. Ad esempio, se si aggiunge il pacchetto Microsoft.AspNetCore.Mvc al progetto, dipende dal pacchetto Microsoft.AspNetCore.Mvc.Core (tra gli altri). Il progetto ha una dipendenza diretta da Microsoft.AspNetCore.Mvc e da una dipendenza transitiva dal pacchetto Microsoft.AspNetCore.Mvc.Core.
Le dipendenze transitive sono rivedibili nella finestra di Visual Studio Esplora soluzioni, che supporta la ricerca o esaminando il file project.lock.json contenuto nella directory radice del progetto per i progetti project.json o il file project.assets.json contenuto nella directory obj del progetto per i progetti csproj. Questi file sono l'elenco autorevole di tutti i pacchetti usati dal progetto, contenente dipendenze dirette e transitive.
Ricerca per categorie correggere l'applicazione interessata?
Sarà necessario correggere le dipendenze dirette e rivedere e correggere eventuali dipendenze transitive. I pacchetti e le versioni interessati nella sezione precedente "Software interessato" includono ogni pacchetto vulnerabile, le versioni vulnerabili e le versioni con patch.
Se si usa ASP.NET Core MVC nei progetti, è necessario prima aggiornare la versione Microsoft.AspNetCore.Mvc in base alla tabella delle versioni interessate precedenti. Se si usa attualmente la versione 1.0.0, 1.0.1, 1.0.2 o 1.0.3 è necessario aggiornare la versione del pacchetto alla versione 1.0.4. Se si usa la versione 1.1.0, 1.1.1 o 1.1.2, è necessario aggiornare la versione del pacchetto alla versione 1.1.3. In questo modo ogni pacchetto MVC verrà aggiornato alle versioni fisse.
Correzione delle dipendenze dirette - project.json/VS2015
Aprire il file project.json nell'editor. Cercare la sezione dipendenze. Di seguito è riportata una sezione delle dipendenze di esempio:
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.1",
"type": "platform"
},
"Microsoft.AspNetCore.Server.Kestrel": "1.0.1",
"Microsoft.AspNetCore.Mvc ": "1.0.1",
}
Questo esempio ha tre dipendenze dirette: Microsoft.NETCore.App, Microsoft.AspNetCore.Server.Kestrel e Microsoft.AspNetCore.Mvc.
Microsoft.NetCore.App è la piattaforma di destinazione dell'applicazione, è necessario ignorarlo. Gli altri pacchetti espongono la versione a destra del nome del pacchetto. In questo esempio, i pacchetti non della piattaforma sono versione 1.0.1.
Esaminare le dipendenze dirette per qualsiasi istanza dei pacchetti e delle versioni elencate in precedenza. Nell'esempio precedente esiste una dipendenza diretta da uno dei pacchetti vulnerabili, Microsoft.AspNetCore.Mvc versione 1.0.1.
Per eseguire l'aggiornamento al pacchetto fisso, modificare il numero di versione in modo che sia il pacchetto appropriato per la versione. Nell'esempio si sta aggiornando Microsoft.AspNetCore.Mvc alla versione 1.0.4.
Dopo aver aggiornato le versioni dei pacchetti vulnerabili, salvare il file project.json.
La sezione dependencies nell'esempio project.json ora sarà simile alla seguente:
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.1",
"type": "platform"
},
"Microsoft.AspNetCore.Server.Kestrel": "1.0.1",
"Microsoft.AspNetCore.Mvc": "1.0.4",
}
Se si usa Visual Studio e si salva il file di project.json aggiornato, Visual Studio ripristinerà la nuova versione del pacchetto. È possibile visualizzare i risultati del ripristino aprendo la finestra di output (CTRL+ALT+O) e modificando l'elenco a discesa Mostra output in Gestione pacchetti.
Se non si usa Visual Studio, aprire una riga di comando e passare alla directory del progetto. Eseguire il comando dotnet restore per ripristinare la nuova dipendenza.
Dopo aver risolto tutte le dipendenze dirette, è necessario esaminare anche le dipendenze transitive.
Correzione delle dipendenze dirette - csproj/VS2017
Aprire il file projectname.csproj nell'editor oppure fare clic con il pulsante destro del mouse sul progetto in Visual Studio 2017 e scegliere Modifica nomeprogetto.csproj dal menu del contenuto, dove nomeprogetto è il nome del progetto. Cercare nodi PackageReference. Di seguito è riportato un file di progetto di esempio:
<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>
L'esempio presenta due dipendenze dirette del pacchetto, come illustrato dai due elementi PackageReference. Il nome del pacchetto si trova nell'attributo Include e il numero di versione del pacchetto si trova nell'attributo Version esposto a destra del nome del pacchetto. L'esempio mostra due pacchetti Microsoft.AspNetCore versione 1.1.1 e Microsoft.AspNetCore.Mvc.Core versione 1.1.2.
Esaminare gli elementi PackageReference per qualsiasi istanza dei pacchetti e delle versioni elencate in precedenza. Nell'esempio precedente esiste una dipendenza diretta da uno dei pacchetti vulnerabili, Microsoft.AspNetCore.Mvc versione 1.1.2.
Per eseguire l'aggiornamento al pacchetto fisso, modificare il numero di versione nel pacchetto appropriato per la versione. Nell'esempio si sta aggiornando Microsoft.AspNetCore.Mvc alla versione 1.1.3.
Dopo aver aggiornato la versione vulnerabile del pacchetto, salvare il file csproj.
L'esempio csproj avrà ora un aspetto simile al seguente:
<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>
Se si usa Visual Studio e si salva il file csproj aggiornato, Visual Studio ripristinerà la nuova versione del pacchetto. È possibile visualizzare i risultati del ripristino aprendo la finestra di output (CTRL+ALT+O) e modificando l'elenco a discesa Mostra output in Gestione pacchetti.
Se non si usa Visual Studio, aprire una riga di comando e passare alla directory del progetto. Eseguire il comando dotnet restore per ripristinare la nuova dipendenza.
Ricompilare l'applicazione.
Se dopo la ricompilazione viene visualizzato un avviso di conflitto di dipendenze, è necessario aggiornare le altre dipendenze dirette alla versione appropriata. Ad esempio, se il progetto fa riferimento a Microsoft.AspNetCore.Routing con un numero di versione 1.0.1 quando si aggiorna il pacchetto Microsoft.AspNetCore.Mvc a 1.0.4, la compilazione genererà:
Conflitto di dipendenze NU1012. Microsoft.AspNetCore.Mvc.Core 1.0.4 previsto Microsoft.AspNetCore.Routing >= 1.0.4 ma ricevuto 1.0.1
Per risolvere questo problema, modificare la versione prevista per il pacchetto previsto aggiornando il file csproj o project.json nello stesso modo usato per aggiornare le versioni vulnerabili del pacchetto.
Dopo aver risolto tutte le dipendenze dirette, è necessario esaminare anche le dipendenze transitive.
Revisione delle dipendenze transitive
Esistono due modi per visualizzare le dipendenze transitive. È possibile usare il Esplora soluzioni di Visual Studio oppure esaminare il file project.lock.json (project.json/VS2015) o project.assets.json (csproj/VS2017).
Uso di Visual Studio Esplora soluzioni (VS2015)
Se si vuole usare Visual Studio 2015, aprire il progetto in Visual Studio 2015 e quindi premere CTRL+; per attivare la ricerca in Esplora soluzioni. Cercare ognuno dei nomi dei pacchetti vulnerabili e prendere nota dei numeri di versione di tutti i risultati che si trovano.
Ad esempio, la ricerca di Microsoft.AspNetCore.Mvc.Core in un progetto di esempio contenente un riferimento a Microsoft.AspNetCore.Mvc mostra i risultati seguenti in Visual Studio 2015.
Figura 1: Ricerca di riferimenti in Visual Studio 2015
I risultati della ricerca vengono visualizzati come albero. In questi risultati è possibile vedere che sono stati trovati riferimenti a Microsoft.AspNetCore.Mvc, versione 1.0.1, la versione vulnerabile.
La prima voce nell'intestazione Riferimenti fa riferimento al framework di destinazione usato dall'applicazione. Sarà . NETCoreApp, . NETStandard o . NET-Framework-vX.Y.Z (dove X.Y.Z è un numero di versione effettivo) a seconda della configurazione dell'applicazione. Nel framework di destinazione verrà visualizzato l'elenco dei pacchetti a cui si è direttamente acquisita una dipendenza. In questo esempio l'applicazione assume una dipendenza da Microsoft.AspNetCore.Mvc. Microsoft.AspNetCore.Mvc include a sua volta nodi foglia che elencano le relative dipendenze e le relative versioni. In questo caso il pacchetto Microsoft.AspNetCore.Mvc dipende da una versione vulnerabile di Microsoft.AspNetCore.Mvc.Core e da numerosi altri pacchetti.
Revisione manuale project.lock.json (project.json/VS2015)
Aprire il file project.lock.json nell'editor. È consigliabile usare un editor che riconosce json e consente di comprimere ed espandere i nodi per esaminare questo file; Sia Visual Studio che Visual Studio Code forniscono questa funzionalità.
Se si usa Visual Studio, il file project.lock.json è "sotto" il file project.json. Fare clic sul triangolo con il puntatore a destra ,,, a sinistra del file project.json per espandere l'albero della soluzione per esporre il file project.lock.json. La figura 1 seguente mostra un progetto con il file project.json espanso per visualizzare il file project.lock.json.
Figura 2: project.lock.json percorso del file
Cercare nel file project.lock.json la stringa "Microsoft.AspNetCore.Mvc.Core/1.1.0". Se il file project.lock.json include questa stringa, si ha una dipendenza dal pacchetto vulnerabile.
Correzione delle dipendenze transitive (project.json/VS2015)
Se non è stato trovato alcun riferimento a pacchetti vulnerabili, ciò significa che nessuna delle dipendenze dirette dipende da alcun pacchetto vulnerabile o il problema è già stato risolto aggiornando le dipendenze dirette.
Se la revisione transitiva delle dipendenze ha trovato riferimenti a uno dei pacchetti vulnerabili, è necessario aggiungere una dipendenza diretta al pacchetto aggiornato al file di project.json per eseguire l'override della dipendenza transitiva. Aprire il project.json e trovare la sezione dipendenze. Ad esempio:
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.1",
"type": "platform"
},
"Microsoft.AspNetCore.Server.Kestrel": "1.1.0",
"Microsoft.AspNetCore.Mvc": "1.1.0"
}
Per ognuno dei pacchetti vulnerabili restituiti dalla ricerca, è necessario aggiungere una dipendenza diretta alla versione aggiornata aggiungendola al file project.json. A tale scopo, aggiungere una nuova riga alla sezione dependencies, facendo riferimento alla versione fissa. Ad esempio, se la ricerca ha mostrato un riferimento transitivo alla versione 4.0.0 di System.Net.Security vulnerabile, è necessario aggiungere un riferimento alla versione fissa appropriata, 4.0.1. Modificare il file project.json come segue:
"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"
}
Dopo aver aggiunto dipendenze dirette ai pacchetti fissi, salvare il file project.json.
Se si usa Visual Studio, salvare il file di project.json aggiornato e Visual Studio ripristinerà le nuove versioni del pacchetto. È possibile visualizzare i risultati del ripristino aprendo la finestra di output (CTRL+ALT+O) e modificando l'elenco a discesa Mostra output in Gestione pacchetti.
Se non si usa Visual Studio, aprire una riga di comando e passare alla directory del progetto. Eseguire il comando dotnet restore per ripristinare le nuove dipendenze.
Uso di Visual Studio Esplora soluzioni (VS2017)
Se si vuole usare Esplora soluzioni, aprire il progetto in Visual Studio 2017 e quindi premere CTRL+; per attivare la ricerca in Esplora soluzioni. Cercare ognuno dei nomi dei pacchetti vulnerabili e prendere nota dei numeri di versione di tutti i risultati che si trovano.
Ad esempio, la ricerca di Microsoft.AspNetCore.Mvc.Core in un progetto di esempio che contiene un pacchetto che accetta una dipendenza da Microsoft.AspNetCore.Mvc mostra i risultati seguenti in Visual Studio 2017.
Figura 3: Ricerca di riferimenti in Visual Studio 2017
I risultati della ricerca vengono visualizzati come albero. In questi risultati sono stati trovati riferimenti a Microsoft.AspNetCore.Mvc.Core versione 1.1.2.
Nel nodo Dipendenze sarà presente un nodo NuGet. Nel nodo NuGet sarà presente l'elenco dei pacchetti a cui si è direttamente acquisita una dipendenza e le relative versioni. In questo esempio l'applicazione assume una dipendenza diretta da Microsoft.AspNetCore.Mvc. Microsoft.AspNetCore.Mvc include a sua volta nodi foglia che elencano le relative dipendenze e le relative versioni. Nell'esempio il pacchetto Microsoft.AspNetCore.Mvc assume una dipendenza da una versione di Microsoft.AspNetCore.Mvc.ApiExplorer che a sua volta assume una dipendenza da una versione vulnerabile di Microsoft.AspNetCore.Mvc.Core.
Revisione manuale project.assets.json (VS2017)
Aprire il file project.assets.json dalla directory obj del progetto nell'editor. È consigliabile usare un editor che riconosce json e consente di comprimere ed espandere i nodi per esaminare questo file; Sia Visual Studio che Visual Studio Code forniscono questa funzionalità.
Cercare nel file project.assets.json i nomi di ogni pacchetto nella tabella dei pacchetti vulnerabili, seguita da /. Ad esempio, la ricerca di Microsoft.AspNetCore.Mvc comporta l'uso di una stringa di ricerca "Microsoft.AspNetCore.Mvc/". Se il file project.assets.json include questa stringa e il numero di versione completo (il numero dopo il /in qualsiasi riscontri di ricerca) corrisponde a una delle versioni vulnerabili elencate in precedenza, si ha una dipendenza dal pacchetto vulnerabile.
Correzione delle dipendenze transitive (csproj/VS2017)
Se non è stato trovato alcun riferimento a pacchetti vulnerabili, ciò significa che nessuna delle dipendenze dirette dipende da alcun pacchetto vulnerabile o il problema è già stato risolto aggiornando le dipendenze dirette.
Se la revisione transitiva delle dipendenze ha trovato riferimenti a uno dei pacchetti vulnerabili, è necessario aggiungere una dipendenza diretta al pacchetto aggiornato al file csproj per eseguire l'override della dipendenza transitiva. Aprire il file projectname.csproj nell'editor oppure fare clic con il pulsante destro del mouse sul progetto in Visual Studio 2017 e scegliere Modifica nomeprogetto.csproj dal menu del contenuto, dove nomeprogetto è il nome del progetto. Cercare nodi PackageReference, ad esempio:
<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>
Per ognuno dei pacchetti vulnerabili restituiti dalla ricerca, è necessario aggiungere una dipendenza diretta alla versione aggiornata aggiungendola al file csproj. A tale scopo, aggiungere una nuova riga alla sezione dependencies, facendo riferimento alla versione fissa. Ad esempio, se la ricerca ha mostrato un riferimento transitivo alla versione 4.3.0 vulnerabile di System.Net.Security, è necessario aggiungere un riferimento alla versione fissa appropriata, 4.3.1.
<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>
Dopo aver aggiunto il riferimento alle dipendenze dirette, salvare il file csproj.
Se si usa Visual Studio, salvare il file csproj aggiornato e Visual Studio ripristinerà le nuove versioni del pacchetto. È possibile visualizzare i risultati del ripristino aprendo la finestra di output (CTRL+ALT+O) e modificando l'elenco a discesa Mostra output in Gestione pacchetti.
Se non si usa Visual Studio, aprire una riga di comando e passare alla directory del progetto. Eseguire il comando dotnet restore per ripristinare le nuove dipendenze.
Ricompilazione dell'applicazione
Infine, ricompilare l'applicazione, eseguire il test come normalmente e ridistribuire usando il meccanismo di distribuzione preferito.
Altre informazioni
Segnalazione dei problemi di sicurezza
- Se è stato rilevato un potenziale problema di sicurezza in .NET Core, inviare i dettagli tramite posta elettronica a . I report possono qualificarsi per .NET Core Bug Bounty. I dettagli del bug bounty di .NET Core, inclusi termini e condizioni, sono disponibili all'indirizzo https:.
Microsoft Active Protections Program (MAPP)
Per migliorare le protezioni di sicurezza per i clienti, Microsoft fornisce informazioni sulle vulnerabilità ai principali provider di software di sicurezza in anticipo di ogni versione mensile dell'aggiornamento della sicurezza. I provider di software di sicurezza possono quindi usare queste informazioni sulla vulnerabilità per fornire protezioni aggiornate ai clienti tramite il software o i dispositivi di sicurezza, ad esempio antivirus, sistemi di rilevamento delle intrusioni basati sulla rete o sistemi di prevenzione delle intrusioni basati su host. Per determinare se le protezioni attive sono disponibili dai provider di software di sicurezza, visitare i siti Web di protezione attivi forniti dai partner del programma, elencati in Microsoft Active Protections Program (MAPP).
Feedback
- È possibile fornire commenti e suggerimenti completando il modulo Microsoft Help and Support (Guida e supporto tecnico Microsoft), Customer Service Contact Us (Contatta Microsoft).
Supporto tecnico
- È possibile porre domande su questo problema in GitHub nelle organizzazioni .NET Core o ASP.NET Core. Questi si trovano in </https:>https: e </https:https:>. Il repository Annunci per ogni prodotto (https://github.com/dotnet/Announcements e https://github.com/aspnet/Announcements) conterrà questo avviso come problema e includerà un collegamento a un problema di discussione in cui è possibile porre domande.
- I clienti del Stati Uniti e del Canada possono ricevere supporto tecnico dal supporto tecnico. Per altre informazioni, vedere Guida e supporto tecnico Microsoft.
- I clienti internazionali possono ricevere supporto dalle filiali Microsoft locali. Per altre informazioni, vedere Supporto internazionale. * Microsoft TechNet Security fornisce informazioni aggiuntive sulla sicurezza nei prodotti Microsoft.
Riconoscimenti
Microsoft ringrazia quanto segue per collaborare a proteggere i clienti:
- David F cortana di Sidertia Solutions per segnalare la vulnerabilità denial of Service ASP.NET Core (CVE-2017-0247)
- Michail Shcherbakov per la segnalazione della vulnerabilità di spoofing principale di ASP.NET (CVE-2017-0256)
Dichiarazione di non responsabilità
Le informazioni fornite in questo avviso vengono fornite "così com'è" senza garanzia di alcun tipo. Microsoft dichiara tutte le garanzie, espresse o implicite, incluse le garanzie di commerciabilità e idoneità per uno scopo specifico. In nessun caso, Microsoft Corporation o i suoi fornitori saranno responsabili di qualsiasi danno, incluso diretto, indiretto, accidentale, consequenziale, perdita di profitti aziendali o danni speciali, anche se Microsoft Corporation o i suoi fornitori sono stati informati della possibilità di tali danni. Alcuni stati non consentono l'esclusione o la limitazione della responsabilità per danni consequenziali o accidentali, pertanto la limitazione precedente potrebbe non essere applicata.
Revisioni
- V1.0 (9 maggio 2017): Avviso pubblicato.
- V1.1 (10 maggio 2017): Advisory revisionato per includere una tabella di cves e le relative descrizioni. Si tratta solo di una modifica informativa.
Pagina generata 2017-05-10 13:08-07:00. </https:>