{"id":884,"date":"2013-12-10T10:00:00","date_gmt":"2013-12-10T10:00:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/webdev\/2013\/12\/10\/asp-net-december-2013-security-updates\/"},"modified":"2013-12-10T10:00:00","modified_gmt":"2013-12-10T10:00:00","slug":"asp-net-december-2013-security-updates","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/dotnet\/asp-net-december-2013-security-updates\/","title":{"rendered":"ASP.NET December 2013 Security Updates"},"content":{"rendered":"<p>Today is Patch Tuesday, and the ASP.NET team would like to announce that we have two items included in this month&rsquo;s release. The first is a bulletin affecting certain versions of SignalR; the second is an advisory affecting ASP.NET Web Forms (.aspx) applications. Each item is briefly outlined below. For more information, consult <a href=\"https:\/\/technet.microsoft.com\/en-us\/security\/bulletin\/ms13-dec\">Security TechCenter<\/a> for this month&rsquo;s releases.<\/p>\n<h3>Cross-site scripting (XSS) vulnerability in ASP.NET SignalR<\/h3>\n<p><b>Main article: Bulletin <\/b><a href=\"http:\/\/technet.microsoft.com\/en-us\/security\/bulletin\/ms13-103\"><b>MS13-103<\/b><\/a><b> (<\/b><a href=\"http:\/\/support.microsoft.com\/kb\/2905244\"><b>KB 2905244<\/b><\/a><b>)<\/b><\/p>\n<p>Some versions of ASP.NET SignalR contain a bug which could under certain circumstances allow an attacker to run arbitrary JavaScript in the context of a site visitor&rsquo;s browser. This is an example of a <a href=\"http:\/\/en.wikipedia.org\/wiki\/Cross-site_scripting\">cross-site scripting (XSS) attack<\/a>.<\/p>\n<h4>Action items<\/h4>\n<p>If your web application uses SignalR, consult the table below for the recommended course of action.<\/p>\n<table style=\"border: 1px dashed black;padding: 0.5em\">\n<thead>\n<td valign=\"top\" width=\"20%\">\n<p><b>SignalR version<\/b><\/p>\n<\/td>\n<td valign=\"top\" width=\"80%\">\n<p><b>Recommended steps<\/b><\/p>\n<\/td>\n<\/thead>\n<tbody>\n<tr>\n<td valign=\"top\">\n<p><b>1.0.0 &ndash; 1.0.1<\/b><\/p>\n<\/td>\n<td valign=\"top\">\n<p>These versions of SignalR <b>are not vulnerable<\/b> to this attack, so no update is necessary. However, the 1.0.x branch is not under active support by Microsoft. It is recommended that applications upgrade to the latest 1.x version to remain in a supported state. At the time of this article&rsquo;s publication, the latest supported 1.x version is 1.1.4. <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\">\n<p><b>1.1.0 &ndash; 1.1.3<\/b><\/p>\n<\/td>\n<td valign=\"top\">\n<p>These versions of SignalR <b>are vulnerable<\/b> to the attack, and applications which rely on them should upgrade to the latest 1.x version as soon as possible. At the time of this article&rsquo;s publication, the latest supported 1.x version is 1.1.4.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\">\n<p><b>2.0.0<\/b><\/p>\n<\/td>\n<td valign=\"top\">\n<p>This version of SignalR <b>is vulnerable<\/b> to the attack, and applications which rely on it should upgrade to the latest 2.x version as soon as possible. At the time of this article&rsquo;s publication, the latest supported 2.x version is 2.0.1.<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>See <a href=\"http:\/\/support.microsoft.com\/kb\/2905244\">KB 2905244<\/a> for more information on how to update the version of SignalR used by your application.<\/p>\n<h3>Insecure ASP.NET Web Forms (.aspx) configuration could allow remote code execution<\/h3>\n<p><b>Main article: <\/b><a href=\"http:\/\/support.microsoft.com\/kb\/2905247\"><b>KB 2905247<\/b><\/a><b><\/b><\/p>\n<p>By default, ASP.NET Web Forms contains the configuration setting EnableViewStateMac=true, which helps verify that the __VIEWSTATE field and related fields haven&rsquo;t been tampered with. MSDN <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/system.web.ui.page.enableviewstatemac.aspx\">warns against setting this switch to <i>false<\/i><\/a> on a production site due to the ability for an attacker to forge malicious payloads. If a web developer sets EnableViewStateMac=false for any page in his site, an attacker could leverage this to upload and invoke arbitrary executable code within the context of the web service account. This is an example of a remote code execution (RCE) attack.<\/p>\n<h4>Action items<\/h4>\n<p>The EnableViewStateMac switch has a default value of <i>true<\/i> unless the web developer has explicitly set this switch to <i>false<\/i>. To see if your application is vulnerable, search the source files that comprise your application for the term <i>EnableViewStateMac<\/i> (all one word), and verify that the switch is never set to <i>false<\/i> anywhere in your application. The search must minimally include .config, .aspx, .cs, and .vb files. However, it is safer to search all file extensions.<\/p>\n<p style=\"border: 3px solid red;padding: 0.5em\"><b>Important note:<\/b><br> The next version of ASP.NET will <b>forbid<\/b> setting EnableViewStateMac=false. Applications which set EnableViewStateMac=false may no longer function properly once this update is pushed out. Web developers <b>must<\/b> take this time to ensure that their applications do not set this switch to an insecure value.<\/p>\n<p>As part of this advisory, we are also publishing a KB article on how to resolve &#8220;validation of view state MAC failed&#8221; exceptions that may have led developers to set EnableViewStateMac=false in the first place. That KB article can be found <a href=\"http:\/\/go.microsoft.com\/fwlink\/?LinkID=314055\">here<\/a>.<\/p>\n<h3>Additional resources<\/h3>\n<p>Further information on this month&rsquo;s security releases can be found at the following locations:<\/p>\n<ul>\n<li>December 2013 advisories and bulletins: <a href=\"https:\/\/technet.microsoft.com\/en-us\/security\/bulletin\/ms13-dec\">https:\/\/technet.microsoft.com\/en-us\/security\/bulletin\/ms13-dec<\/a><\/li>\n<li>MSRC blog: <a href=\"http:\/\/blogs.technet.com\/b\/msrc\/\">http:\/\/blogs.technet.com\/b\/msrc\/<\/a><\/li>\n<li>SRD blog: <a href=\"http:\/\/blogs.technet.com\/b\/srd\/\">http:\/\/blogs.technet.com\/b\/srd\/<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Today is Patch Tuesday, and the ASP.NET team would like to announce that we have two items included in this month&rsquo;s release. The first is a bulletin affecting certain versions of SignalR; the second is an advisory affecting ASP.NET Web Forms (.aspx) applications. Each item is briefly outlined below. For more information, consult Security TechCenter [&hellip;]<\/p>\n","protected":false},"author":413,"featured_media":58792,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[197],"tags":[123,7408],"class_list":["post-884","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-aspnet","tag-security","tag-signalr"],"acf":[],"blog_post_summary":"<p>Today is Patch Tuesday, and the ASP.NET team would like to announce that we have two items included in this month&rsquo;s release. The first is a bulletin affecting certain versions of SignalR; the second is an advisory affecting ASP.NET Web Forms (.aspx) applications. Each item is briefly outlined below. For more information, consult Security TechCenter [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/884","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/users\/413"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/comments?post=884"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/884\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media\/58792"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media?parent=884"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/categories?post=884"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/tags?post=884"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}