微软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/


京公网安备11010802024551号