Aspnetcore: Microsoft Security Advisory CVE-2019-0548: ASP.NET Core Denial Of Service Vulnerability

Created on 8 Jan 2019  路  13Comments  路  Source: dotnet/aspnetcore

Microsoft Security Advisory CVE-2019-0548: ASP.NET Core Denial Of Service Vulnerability

Executive Summary

Microsoft is releasing this security advisory to provide information about a vulnerability in public ASP.NET Core 1.0, 1.1, 2.1 and 2.2. This advisory also provides guidance on what developers can do to update their applications correctly.

Microsoft is aware of a security vulnerability in all public versions of ASP.NET Core where, if an application is hosted on Internet Information Server (IIS) a remote unauthenticated attacker can use a specially crafted request can cause a Denial of Service.

Announcement

The original announcement for this issue can be found at https://github.com/aspnet/Announcements/issues/335

Mitigation Factors

Any site hosted behind a different proxy, such as nginx or an application hosted in Azure, which uses Application Request Routing (ARR) as a proxy is not affected.

Affected Software

The vulnerability affects any Microsoft ASP.NET 1.0/1.1/2.1 Core applications if it is hosted on an IIS server running AspNetCoreModule (ANCM) prior to 12.1.18340.7 or,
The vulnerability affects any Microsoft ASP.NET 2.2 Core applications if it is hosted on an IIS server running AspNetCoreModule (ANCM) prior to 12.2.18346.0

Advisory FAQ

How do I know if I am affected?

Open a PowerShell prompt and run the following command

(Get-Item $env:SystemDrive\Windows\System32\inetsrv\aspnetcore.dll).VersionInfo

or use the Windows file properties dialog to check the version on C:\Windows\System32\inetsrv\aspnetcore.dll, where C: is your OS install drive.

ASP.NET Core 1.0/1.1/2.1 applications are affected if the file version is less than 12.1.18340.7.
ASP.NET Core 2.2 applications are affected if the file version is less than 12.2.18346.0.

How do I fix the issue?

Install the latest version of the ASP.NET Core Runtime & Hosting Bundle appropriate to the highest version of .NET Core running on your servers.

Then restart IIS by running

net stop was /y
net start w3svc

from an elevated command line.

Other Information

Reporting Security Issues

If you have found a potential security issue in .NET Core, please email details to [email protected]. Reports may qualify for the .NET Core Bug Bounty. Details of the .NET Core Bug Bounty including Terms and Conditions are at https://aka.ms/corebounty.

Support

You can ask questions about this issue on GitHub in the .NET Core or ASP.NET Core organizations. These are located at https://github.com/dotnet/ and https://github.com/aspnet/. The Announcements repo for each product (https://github.com/dotnet/Announcements and https://github.com/aspnet/Announcements) will contain this bulletin as an issue and will include a link to a discussion issue where you can ask questions.

Disclaimer

The information provided in this advisory is provided "as is" without warranty of any kind. Microsoft disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. In no event shall Microsoft Corporation or its suppliers be liable for any damages whatsoever including direct, indirect, incidental, consequential, loss of business profits or special damages, even if Microsoft Corporation or its suppliers have been advised of the possibility of such damages. Some states do not allow the exclusion or limitation of liability for consequential or incidental damages so the foregoing limitation may not apply.

External Links

CVE-2019-0548

Revisions

V1.0 (Jan 8 2018): Advisory published.
V1.1 (Jan 9 2018): Update ANCM version for AspNetCore 2.1 and 1.1.
V1.2 (Jan 10 2018): Mention 2.2 is affected and that the 1.1 Hosting Bundle download link was incorrect.

_Version 1.2_
_Last Updated 2019-01-10_

Security

Most helpful comment

Hi, I installed dotnet-hosting-2.1.7-win.exe and aspnetcore.dll is still too old version? 12.1.18340.7 < 12.1.18346.0 ...?

(Get-Item $env:SystemDrive\Windows\System32\inetsrv\aspnetcore.dll).VersionInfo
ProductVersion FileVersion FileName
12.1.18340.7 12.1.18340.7 C:\Windows\System32\inetsrv\aspnetcore.dll

All 13 comments

Would this or the other CVE explain the disappearance of vers 2.1.3 of some NuGet packages?

@kierenj which package ID are you looking at? I'm guessing what you are actually seeing is something else, but it depends on the package.

Microsoft.AspNetCore.Server.IISIntegration (on mobile sorry - hope thats the correct capitalisation). There is an outside chance there never was a 2.1.3 since I cant find any evidence of it now.. but it鈥檚 the least insane explanation for the issue I鈥檓 facing

There is an outside chance there never was a 2.1.3

That's what happened. A regular complaint has been that our patches have jagged versions and it was hard to figure out which patch of individual packages belong to updates to the overall framework, so starting with 2.1.6, we decided to skip ahead the patch number to have consistent versions across all packageswe release in servicing updates. I called it "swiss cheese" versioning because it leaves holes 馃 .

See https://github.com/aspnet/AspNetCore/blob/master/docs/PreparingPatchUpdates.md

Ok, thank you. The issue I saw was that suddenly our app was saying it couldn鈥檛 find asm manifest version 2.2.0.0 didn鈥檛 match the version deployed, while the app was referencing pkg version 2.1.3. My guess is 2.1.3 was resolved to 2.2.0 instead - but I don鈥檛 understand which change in the last 24 hours would have triggered my situation. Forgive me for asking here - if this really isn鈥檛 related I鈥檒l happily remove these comments!

Edit: found out what happened -

  1. We were depending on 2.1.3, which doesn't exist, was resolved to 2.2.0 and built into our framework NuGet package as such
  2. The app itself was then packaged and deployed, but that build process grabbed the "new" best-match for 2.1.3, which was 2.1.7 (newly-released)
  3. Voila: our framework code wanted 2.2.0 but got 2.1.7

Fix: Don't have references to package versions which don't exist

Let me know if you'd like me to delete these comments to keep this discussion clean

Hi, I installed dotnet-hosting-2.1.7-win.exe and aspnetcore.dll is still too old version? 12.1.18340.7 < 12.1.18346.0 ...?

(Get-Item $env:SystemDrive\Windows\System32\inetsrv\aspnetcore.dll).VersionInfo
ProductVersion FileVersion FileName
12.1.18340.7 12.1.18340.7 C:\Windows\System32\inetsrv\aspnetcore.dll

@Villae @blowdart @natemcmaster
Same, after install dotnet-hosting-2.1.7-win.exe from https://dotnet.microsoft.com/download/thank-you/dotnet-runtime-2.1.7-windows-hosting-bundle-installer
Version is

PS C:\Users\user> (Get-Item $env:SystemDrive\Windows\System32\inetsrv\aspnetcore.dll).VersionInfo

ProductVersion   FileVersion      FileName
--------------   -----------      --------
12.1.18340.7     12.1.18340.7     C:\Windows\System32\inetsrv\aspnetcore.dll

We've got the same issue like @Villae and @DaniilSokolyuk .

In addition, at https://dotnet.microsoft.com/download/dotnet-core/2.1 there is documented in the left column that the installer should contain "ASP.NET Core IIS Module 12.1.18263.2".

@shirhatti to expand on this.

@villae @DaniilSokolyuk @Compufreak345 you are all correct; we got the version incorrect for the 2.1 hosting bundle. We will update issues and the download center versions.

@jkotalik One more question: I installed dotnetcore.1.0.13_1.1.10-windowshosting.exe (downloaded about 5 minutes ago) to one server which have only one .NET Core 1.1 application installed. That 1.1.0 hosting module installer installed version 12.1.18250.2 of hosting module. Is that version also patched vor do I need to install 2.1 hosting module to get patched hosting module?

@Villae please redownload the 1.1 hosting bundle, the link on the download page was incorrect as of this morning.

We periodically close 'discussion' issues that have not been updated in a long period of time.

We apologize if this causes any inconvenience. We ask that if you are still encountering an issue, please log a new issue with updated information and we will investigate.

Was this page helpful?
0 / 5 - 0 ratings