微軟SQL Server Reporting Services遠程代碼執行漏洞風險通告

發布時間 2020-02-17

漏洞編號和級別


CVE編號:CVE-2020-0618,危險級別:高危,CVSS分值:官方未評定


影響版本


Microsoft SQL Server 2012 for 32-bit Systems Service Pack 4 (QFE)

Microsoft SQL Server 2012 for x64-based Systems Service Pack 4 (QFE)

Microsoft SQL Server 2014 Service Pack 3 for 32-bit Systems (CU)

Microsoft SQL Server 2014 Service Pack 3 for 32-bit Systems (GDR)

Microsoft SQL Server 2014 Service Pack 3 for x64-based Systems (CU)

Microsoft SQL Server 2014 Service Pack 3 for x64-based Systems (GDR)

Microsoft SQL Server 2016 for x64-based Systems Service Pack 2 (CU)

Microsoft SQL Server 2016 for x64-based Systems Service Pack 2 (GDR)


漏洞概述


近日,本月微軟補丁更新的漏洞,微軟SQL Server Reporting Services遠程代碼執行漏洞的PoC被公開,SQL Server Reporting Services提供一組本地工具和服務,用于創建、部署和管理報表。SQL Server Reporting Services中存在一個遠程代碼執行漏洞,僅需獲得低權限的攻擊者可以向受影響版本的Reporting Services實例提交精心構造的請求來利用此漏洞。成功利用此漏洞的攻擊者可在Report Server服務帳戶上下文中執行任意代碼。


此漏洞位于ReportingServicesWebServer.dll文件中的BrowserNavigationCorrector類,如下圖所示:



從上圖可見, BrowserNavigationCorrector類中的OnLoad方法使用LosFormatter類進行反序列化操作。


LosFormatter一般用于序列化和反序列化Web窗體頁的視圖狀態(ViewState) ,當未經過濾的用戶輸入被LosFormatter類進行反序列化操作時,就會產生反序列化漏洞。


BrowserNavigationCorrector類被Microsoft.ReportingServices.WebServer.ReportViewerPage類調用,如下圖:



ReportViewerPage類可以由/ReportServer/pages/ReportViewer.aspx頁面進行傳參調用,當攻擊者調用該頁面并傳入惡意構造的序列化payload,即可觸發漏洞。


漏洞驗證


PoC:https://www.mdsec.co.uk/2020/02/cve-2020-0618-rce-in-sql-server-reporting-services-ssrs/。


修復建議


目前微軟已發布補丁修復漏洞,參考鏈接:https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2020-0618。


如果您的SQL Server版本號未在上文中,那么您的SQL Server版本將不再受到微軟官方支持。同樣有被此漏洞影響的風險。請升級到最新的SQL Server,以免遭受漏洞攻擊。


參考鏈接


https://www.mdsec.co.uk/2020/02/cve-2020-0618-rce-in-sql-server-reporting-services-ssrs/