ASP.NET Core 5-RC1 HTTP Header Injection

ASP.NET Core version 5.-RC1 suffers from an HTTP header injection vulnerability.


MD5 | 28fbb855c6805f6d739cc89ce38fed04

#############################################################
#
# COMPASS SECURITY ADVISORY
# http://www.csnc.ch/en/downloads/advisories.html
#
#############################################################
#
# Product: ASP.NET Core
# Vendor: Microsoft https://www.microsoft.com
# CSNC ID: CSNC-2016-006
# Subject: HTTP Header Injection
# Risk: Medium
# Effect: HTTP Header manipulation
# Author: Reto Schadler ([email protected])
# Date: 21.12.2016
#
#############################################################

Introduction:
-------------
ASP.NET Core is a open-source and cross-platform framework for building modern cloud based internet connected applications,
such as web apps, IoT apps and mobile backends. ASP.NET Core apps can run on .NET Core or on the full .NET Framework.
It was architected to provide an optimized development framework for apps that are deployed to the cloud or run on-premises.
It consists of modular components with minimal overhead, so you retain flexibility while constructing your solutions. [1]

Carriage return and line feed characters are not filtered from the URL. This allows to manipulate the HTTP Header, and
overwrite redirection URLs and manipulate cookies with a HTTP header injection are possible.

Affected:
---------
- ASP.NET 5-RC1

Technical Description:
----------------------
Inject carriage return and line feed into the URL, which allows to overwrite a new redirection location:
/Account/Login?ReturnUrl=%2FAccount%0D%0ALocation%3A%20http%3A%2F%2Fwww.csnc.ch

It's also possible to write or overwrite a cookie:
/Account%0D%0ASet-Cookie:%20CompassCookie=HelloWorld1

Workaround / Fix:
-----------------
Fixed with 1.0.0-RC2 of ASP.NET Core

Timeline:
---------
Vendor Status: Fixed with 1.0.0-RC2 of ASP.NET Core.
Vendor Notified: 12.04.2016
Vendor Response: 21.04.2016 patch on github -> 1.0.0-RC2
Patch available: RC2 ASP.NET Core [2]

References:
-----------
[1]: https://github.com/aspnet/home
[2]: https://github.com/aspnet/KestrelHttpServer/commit/c1e5640a656ddfe6d478cb54a30002de41c25180

Related Posts