NOTE: The McAfee Web Gateway can be used to stop these types of attacks.
Team McAfee at Ciphent
SharePoint Team Services stores a variety of files in its backend database. These files include site templates, custom ASP.NET pages and documents that users of the application upload to the document libraries.
Insufficient validation in the input parameters of the download facility can result in the source code of ASP.NET files being disclosed. For example, the source code of the default ASP.NET page available after installing the product (http://server/Pages/Default.aspx) can be obtained by issuing the following request:
In order to retrieve the source code any file stored in the backend database (files whose path does not start with /_layout/) it is sufficient to craft a request that follows this pattern:
This bug can result in disclosure of sensitive information that can be used by an attacker targeting the system. For instance the PublicKeyTokens of the ASP.NET assemblies deployed in the server can be revealed enabling an attacker to upload a malicious file that makes use of them.
It is advised that the source code of any bespoke ASP.NET file deployed in the system is reviewed to ensure that no sensitive information would be reviewed if an attacker abuses the download facility of the framework. Additionally access on a need-to-know basis to SharePoint systems is advised.
No workarounds exist at this point. However Microsoft has been contacted so they can produce a fix for their customers. Additionally, Microsoft has addressed the design issues around it in a Knowledge Base article (KB976829) about security considerations when running SharePoint that can be found at: