New ASP .NET vulnerability
Saturday, 18 September 2010

A new vulnerability in all versions of ASP .NET has just been announced along with an urgent fix. Without the fix an attacker can decrypt data sent by a client.

Banner

 

A few hours ago (Saturday 18th Sept 9pm EDT) Microsoft  released a Security Advisory about a security vulnerability in ASP.NET. 

This vulnerability exists in all versions of ASP.NET.

This vulnerability was publicly disclosed late Friday at a security conference.  Microsoft recommend that all customers immediately apply a workaround (described here) to prevent attackers from using this vulnerability against ASP.NET applications. (Most of the information in this news item is taken from Scott Guthrie's Blog.)

aspnet

What does the vulnerability enable?

An attacker using this vulnerability can request and download files within an ASP.NET Application like the web.config file (which often contains sensitive data).

At attacker exploiting this vulnerability can also decrypt data sent to the client in an encrypted state (like ViewState data within a page).

How the Vulnerability Works

To understand how this vulnerability works, you need to know about cryptographic oracles.

An oracle in the context of cryptography is a system which provides hints as you ask it questions. In this case, there is a vulnerability in ASP.NET which acts as a padding oracle. This allows an attacker to send cipher text to the web server and learn if it was decrypted properly by examining which error code was returned by the web server. 

By making many such requests (and watching what errors are returned) the attacker can learn enough to successfully decrypt the rest of the cipher text.

The Fix

A workaround you can use to prevent this vulnerability is to enable the <customErrors> feature, and explicitly configure your applications to always return the same error page - regardless of the error encountered on the server. By mapping all error pages to a single error page, you prevent a hacker from distinguishing between the different types of errors that occur on a server

It is not enough to simply turn on CustomErrors or have it set to RemoteOnly. You also need to make sure that all errors are configured to return the same error page.  This requires you to explicitly set the “defaultRedirect” attribute on the <customErrors> section and ensure that no per-status codes are set.

 

Banner


Charles Babbage - Born This Day 154 Years Ago
26/12/2025

It is an annual I Programmer tradition to celebrate the birth of Charles Babbage, the man who invented and designed a programmable computer at the start of the Industrial Age, and who is now reco [ ... ]



Google Launches Open Source Standard For Agentic Commerce
15/01/2026

Google has released an open standard that can be used to turn AI interactions into sales. The Universal Commerce Protocol (UCP) establishes a common language and functional primitives to ena [ ... ]


More News

Last Updated ( Saturday, 18 September 2010 )