Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
blowdart opened this issue Jan 8, 2019 · 13 comments
Labels
Milestone

Comments

@blowdart
Copy link
Contributor

blowdart commented Jan 8, 2019

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 aspnet/Announcements#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 secure@microsoft.com. 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

@kierenj
Copy link

kierenj commented Jan 8, 2019

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

@natemcmaster
Copy link
Contributor

@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.

@kierenj
Copy link

kierenj commented Jan 8, 2019

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’s the least insane explanation for the issue I’m facing

@natemcmaster
Copy link
Contributor

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

@kierenj
Copy link

kierenj commented Jan 8, 2019

Ok, thank you. The issue I saw was that suddenly our app was saying it couldn’t find asm manifest version 2.2.0.0 didn’t 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’t understand which change in the last 24 hours would have triggered my situation. Forgive me for asking here - if this really isn’t related I’ll 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

@Villae
Copy link

Villae commented Jan 9, 2019

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

@DaniilSokolyuk
Copy link

@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

@Compufreak345
Copy link

Compufreak345 commented Jan 9, 2019

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".

@blowdart
Copy link
Contributor Author

blowdart commented Jan 9, 2019

@shirhatti to expand on this.

@jkotalik
Copy link
Contributor

jkotalik commented Jan 9, 2019

@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.

@Villae
Copy link

Villae commented Jan 10, 2019

@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?

@jkotalik
Copy link
Contributor

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

@aspnet-hello
Copy link

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.

@dotnet dotnet locked and limited conversation to collaborators Apr 19, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

9 participants