Facebook Google Plus Twitter LinkedIn YouTube RSS Menu Search Resource - BlogResource - WebinarResource - ReportResource - Eventicons_066 icons_067icons_068icons_069icons_070

CVE-2020-0618: Proof of Concept for Microsoft SQL Server Reporting Services Vulnerability Available



Availability of proof-of-concept (PoC) code for recently disclosed remote code execution flaw in Microsoft SQL Server Reporting Services leaves sites vulnerable to attack.

背景說明

On February 11, Microsoft patched a remote code execution vulnerability in Microsoft SQL Server Reporting Services (SSRS), which provides “a set of on-premises tools and services that create, deploy, and manage mobile and paginated reports.” The issue was reported to Microsoft by Soroush Dalili, principal security consultant at MDSec.

分析

CVE-2020-0618 is an improper input validation vulnerability in the ReportingServicesWebServer.dll of SSRS. According to a blog post from Dalili, the OnLoad method of the Microsoft.Reporting.WebForms.BrowserNavigationCorrector class passes untrusted user input (e.g. a serialized payload passed via the NavigationCorrector$ViewState parameter) to the LosFormatter class to be deserialized.

In his research, Dalili observed the Microsoft.Reporting.WebForms.BrowserNavigationCorrector class was used by the Microsoft.ReportingServices.WebServer.ReportViewerPage class.

To exploit the flaw, Dalili targeted the ReportViewer.aspx file on a SharePoint server. By sending a specially crafted POST request containing a serialized payload generated using ysoserial.net, Dalili could trigger the exploit, obtaining a shell on the vulnerable server.

Microsoft SSRS needs to be installed before an attacker can exploit the flaw. However, we’re seeing reports from security researchers who are searching for vulnerable instances.

Penetration tester Damian Schwyrz recently identified and reported the flaw “on a server of a very large car company.”

Additionally, Dalili shared a Google search query that shows over 8,900 publicly accessible instances of ReportViewer.aspx, many of which appear to be government-related.

It is unclear how many of the sites found in this Google search are actually vulnerable to the flaw. However, the uncertainty won’t prohibit attackers from attempting to identify vulnerable sites and exploit the flaw in the wild.

概念驗證

As mentioned above, Dalili published a PoC for the vulnerability in a blog post on February 14. A GitHub repository featuring Dalili’s PoC was published the same day. At the time this blog post was published, there were no full-fledged exploit scripts available for this vulnerability.

解決方法

Microsoft patched this flaw on February 11 as part of Patch Tuesday. According to their advisory, the vulnerability affects Microsoft SQL Server 2012, 2014 and 2016. However, additional reporting from security researcher Kevin Beaumont confirmed this flaw also affects Microsoft SQL Server 2008. The reason 2008 is not listed in the advisory is because it reached its end-of-support cycle in July 2014.

Microsoft has provided General Distribution Release (GDR) and a Cumulative Update (CU) for the affected SQL Server versions. According to Microsoft, GDR updates “only contain security updates for the given baseline” while CUs “contain all functional fixes and security updates for the given baseline.”

Please refer to the table below for the applicable update of your SQL Server based on your current version.

Article 職稱 類別 Applicable Versions Included Servicing Release
4532097 Security update for SQL Server 2016 Service Pack 2 GDR 13.0.5026.0—13.0.5101.9 KB4505220
4535706 Security update for SQL Server 2016 Service Pack 2 CU 13.0.5149.0—13.0.5598.27 KB4527378
4532095 Security update for SQL Server 2014 Service Pack 3 GDR 12.0.6024.0—12.0.6108.1 KB4505218
4535288 Security update for SQL Server 2014 Service Pack 2 CU 12.0.6205.1—12.0.6329.1 KB4500181
4532098 Security update for SQL Server 2012 Service Pack 4 GDR 111.0.7001.0—11.0.7462.6 KB4057116

找出受影響的系統

A list of Tenable plugins to identify this vulnerability can be found here. This includes an uncredentialed check (plugin ID 133718), which requires enabling paranoid mode.

取得更多資訊

加入 Tenable Community 的 Tenable 安全回應團隊

深入瞭解 Tenable,這是用於全面管理新型攻擊破綻的首創 Cyber Exposure 平台。

索取 Tenable.io Vulnerability Management 的 30 天免費試用


您可以利用的網路安全最新消息

輸入您的電子郵件,就不會錯過來自 Tenable 專家提供的及時警示與安全指引。