Microsoft 安全公告 MS15-058 - 重要

SQL Server 中的漏洞可能允许远程代码执行(3065718)

发布时间: 2015 年 7 月 14 日 |更新时间:2015 年 12 月 9 日

版本: 1.2

执行摘要

此安全更新可解决 Microsoft SQL Server 中的漏洞。 如果经过身份验证的攻击者运行专用查询,旨在从错误的地址执行虚拟函数,导致函数调用未初始化的内存,则最严重的漏洞可能会允许远程代码执行。 若要利用此漏洞,攻击者需要有权创建或修改数据库。

对于支持的 Microsoft SQL Server 2008、Microsoft SQL Server 2008 R2、Microsoft SQL Server 2012 和 Microsoft SQL Server 2014 的支持版本,此安全更新被评为“重要”。 有关详细信息,请参阅 “受影响的软件 ”部分。

安全更新通过更正 SQL Server 如何处理内部函数调用和指针强制转换来解决漏洞。 有关漏洞的详细信息,请参阅 “漏洞信息 ”部分。

有关此更新的详细信息,请参阅 Microsoft 知识库文章3065718

受影响的软件

以下软件已经过测试,以确定受影响的版本。 其他版本或版本要么超过其支持生命周期,要么不受影响。 若要确定软件版本或版本的支持生命周期,请参阅Microsoft 支持部门生命周期

受影响的软件 

GDR Software 汇报 QFE 软件汇报 最大安全影响 聚合严重性分级 已替换汇报
SQL Server 2008 Service Pack 3
Microsoft SQL Server 2008 for 32 位系统 Service Pack 3 (3045305) Microsoft SQL Server 2008 for 32 位系统 Service Pack 3 (3045303) 远程代码执行 重要
Microsoft SQL Server 2008 for x64 based Systems Service Pack 3 (3045305) Microsoft SQL Server 2008 for x64 based Systems Service Pack 3 (3045303) 远程代码执行 重要
Microsoft SQL Server 2008 for Itanium based Systems Service Pack 3 (3045305) Microsoft SQL Server 2008 for Itanium based Systems Service Pack 3 (3045303) 远程代码执行 重要
SQL Server 2008 Service Pack 4
Microsoft SQL Server 2008 for 32 位系统 Service Pack 4 (3045311) Microsoft SQL Server 2008 for 32 位系统 Service Pack 4 (3045308) 远程代码执行 重要
Microsoft SQL Server 2008 for x64 based Systems Service Pack 4 (3045311) Microsoft SQL Server 2008 for x64 based Systems Service Pack 4 (3045308) 远程代码执行 重要
SQL Server 2008 R2 Service Pack 2
Microsoft SQL Server 2008 R2 for 32 位系统 Service Pack 2 (3045313) Microsoft SQL Server 2008 R2 for 32 位系统 Service Pack 2 (3045312) 远程代码执行 重要
基于 x64 的系统 Service Pack 2 的 Microsoft SQL Server 2008 R2 (3045313) 基于 x64 的系统 Service Pack 2 的 Microsoft SQL Server 2008 R2 (3045312) 远程代码执行 重要
Microsoft SQL Server 2008 R2 for Itanium 基于 Itanium 的系统 Service Pack 2 (3045313) Microsoft SQL Server 2008 R2 for Itanium 基于 Itanium 的系统 Service Pack 2 (3045312) 远程代码执行 重要
SQL Server 2008 R2 Service Pack 3
Microsoft SQL Server 2008 R2 for 32 位系统 Service Pack 3 (3045316) Microsoft SQL Server 2008 R2 for 32 位系统 Service Pack 3 (3045314) 远程代码执行 重要
Microsoft SQL Server 2008 R2 for x64 based Systems Service Pack 3 (3045316) 基于 x64 的系统 Service Pack 3 的 Microsoft SQL Server 2008 R2 (3045314) 远程代码执行 重要
SQL Server 2012 Service Pack 1
Microsoft SQL Server 2012 for 32 位系统 Service Pack 1 (3045318) Microsoft SQL Server 2012 for 32 位系统 Service Pack 1 (3045317) 远程代码执行 重要
Microsoft SQL Server 2012 for x64 based Systems Service Pack 1 (3045318) Microsoft SQL Server 2012 for x64 based Systems Service Pack 1 (3045317) 远程代码执行 重要
SQL Server 2012 Service Pack 2
Microsoft SQL Server 2012 for 32 位系统 Service Pack 2 (3045321) Microsoft SQL Server 2012 for 32 位系统 Service Pack 2 (3045319) 远程代码执行 重要
基于 x64 的系统 Service Pack 2 的 Microsoft SQL Server 2012 (3045321) Microsoft SQL Server 2012 for x64 based Systems Service Pack 2 (3045319) 远程代码执行 重要
SQL Server 2014
Microsoft SQL Server 2014 for 32 位系统 (3045324) Microsoft SQL Server 2014 for 32 位系统 (3045323) 远程代码执行 重要
Microsoft SQL Server 2014 for x64 based Systems (3045324) Microsoft SQL Server 2014 for x64 based Systems (3045323) 远程代码执行 重要

更新常见问题解答

我的 SQL Server 版本提供了 GDR 和/或 QFE 更新。 如何实现知道要使用哪个更新?
首先,确定 SQL Server 版本号。 有关确定 SQL Server 版本号的详细信息,请参阅 Microsoft 知识库文章321185

其次,在下表中,找到版本号或版本号所属于的版本范围。 相应的更新是需要安装的更新。

请注意 ,如果下表中未显示 SQL Server 版本号,则不再支持 SQL Server 版本。 请升级到最新的 Service Pack 或 SQL Server 产品,以便应用此安全更新和将来的安全更新。

更新编号 标题 如果当前产品版本为... 此安全更新还包括通过...
3045305 MS15-058:SQL Server 2008 Service Pack 3 GDR 安全更新说明:2015 年 7 月 14 日 10.00.5500.00 或 10.00.5520.00 2008 SP3 GDR (MS14-044
3045303 MS15-058:SQL Server 2008 Service Pack 3 QFE 安全更新说明:2015 年 7 月 14 日 10.00.5750. - 10.00.5869.00 2008 SP3 CU17
3045311 MS15-058:SQL Server 2008 Service Pack 4 GDR 安全更新说明:2015 年 7 月 14 日 10.0.6000.29 2008 SP4
3045308 MS15-058:SQL Server 2008 Service Pack 4 QFE 的安全更新说明:2015 年 7 月 14 日 10.0.6500.00 - 10.0.6526.0 2008 SP4
3045313 MS15-058:SQL Server 2008 R2 Service Pack 2 GDR 安全更新说明:2015 年 7 月 14 日 10.50.4000.0 或 10.50.4033.0 2008 R2 SP2 GDR (MS14-044
3045312 MS15-058:SQL Server 2008 R2 Service Pack 2 QFE 的安全更新说明:2015 年 7 月 14 日 10.50.4251.0 - 10.50.4331.0 2008 R2 SP2 CU13
3045316 MS15-058:SQL Server 2008 R2 Service Pack 3 GDR 安全更新说明:2015 年 7 月 14 日 10.50.6000.34 2008 R2 SP3
3045314 MS15-058:SQL Server 2008 R2 Service Pack 3 QFE 安全更新说明:2015 年 7 月 14 日 10.50.6500.0 - 10.50.6525.0 2008 R2 SP3
3045318 MS15-058:SQL Server 2012 SP1 GDR 安全更新说明:2015 年 7 月 14 日 11.0.3000.0 或 11.0.3153.0 2012 SP1 GDR (MS14-044
3045317 MS15-058:SQL Server 2012 SP1 QFE 安全更新说明:2015 年 7 月 14 日 11.0.3300.0 - 11.0.3492.0 2012 SP1 CU16
3045321 MS15-058:SQL Server 2012 Service Pack 2 GDR 安全更新说明:2015 年 7 月 14 日 11.0.5058.0 2012 SP2
3045319 MS15-058:SQL Server 2012 Service Pack 2 QFE 安全更新说明:2015 年 7 月 14 日 11.0.5500.0 - 11.0.5592.0 2012 SP2 CU6
3045324 MS15-058:SQL Server 2014 GDR 安全更新说明:2015 年 7 月 14 日 12.0.2000.8 或 12.0.2254.0 2014 RTM GDR (MS14-044
3045323 MS15-058:SQL Server 2014 QFE 安全更新说明:2015 年 7 月 14 日 12.0.2300.0 - 12.0.2546.0 2014 RTM CU8
3070446 MS15-058:SQL Server 2014 Service Pack 1 GDR 的非安全更新说明:2015 年 7 月 14 日 12.0.4100.1 2014 SP1

请注意 ,对于 GDR 分支,应用更新后,将看不到数据库升级脚本执行。 这是预期行为,因为修补程序仅替换二进制文件。

有关其他安装说明,请参阅“更新信息”部分中 SQL Server 版本的 安全更新信息 子部分。

GDR 和 QFE 更新指定是什么,它们有何不同?
常规分发版本(GDR)和快速修复工程(QFE)指定对应于 SQL Server 的两个不同的更新服务分支。 两者的主要区别是 QFE 分支累积包含所有更新,而 GDR 分支仅包含给定基线的安全更新。 基线可以是初始 RTM 版本或 Service Pack。

对于任何给定的基线,如果处于基线或已安装该基线的以前的 GDR 更新,则 GDR 或 QFE 分支更新都是选项。 如果为所打开的基线安装了以前的 QFE,则 QFE 分支是唯一选项。

这些安全更新是否提供给 SQL Server 群集? 
是的。 还将向 SQL Server 2008、SQL Server 2008 R2、SQL Server 2012 和群集的 SQL Server 2014 实例提供更新。 SQL Server 群集汇报需要用户交互。

如果 SQL Server 2008、SQL Server 2008 R2、SQL Server 2012 或 SQL Server 2014 群集具有被动节点,以减少停机时间,Microsoft 建议先扫描更新并将其应用到非活动节点,然后扫描并将其应用到活动节点。 在所有节点上更新所有组件后,将不再提供更新。

安全更新是否可以应用于 Windows Azure 上的 SQL Server 实例(IaaS)?
是的。 Windows Azure 上的 SQL Server 实例(IaaS)可以通过 Microsoft 更新提供安全更新,或者客户可以从 Microsoft 下载中心下载安全更新,并手动应用它们。

此安全更新是否包含对功能的任何非安全更改?
是的。 除了本公告的漏洞详细信息部分讨论的安全相关更改外,安全更新还包括一些重要的非安全修补程序。 有关详细信息,请参阅 Microsoft 知识库文章3065718

我运行的是 Microsoft SQL Server 2014 Service Pack 1,它未列为受影响的软件。 为什么我收到更新?
Microsoft SQL Server 2014 Service Pack 1 不受此公告中讨论的漏洞影响,但受此安全更新中发布的一个重要的非安全修补程序的影响。 因此,将向运行 Microsoft SQL Server 2014 Service Pack 1 的 GDR 分支的客户提供非安全更新3070446。 有关非安全更新的一般说明,请参阅 Microsoft 知识库文章3070446。 有关非安全修补程序的详细信息,请参阅 Microsoft 知识库文章3067257

严重性分级和漏洞标识符

以下严重性分级假定漏洞的潜在最大影响。 有关此安全公告发布 30 天内漏洞的可利用性及其严重性评级和安全影响的信息,请参阅 7 月公告摘要中的 Exploitability Index。

受影响的软件的漏洞严重性分级和最大安全影响
受影响的软件 SQL Server 特权提升漏洞 - CVE-2015-1761 SQL Server 远程代码执行漏洞 - CVE-2015-1762 SQL Server 远程代码执行漏洞 - CVE-2015-1763 聚合严重性分级
SQL Server 2008 Service Pack 3
Microsoft SQL Server 2008 for 32 位系统 Service Pack 3 重要 特权提升 重要的 远程代码执行 重要的 远程代码执行 重要说明
基于 x64 的系统 Service Pack 3 的 Microsoft SQL Server 2008 重要 特权提升 重要的 远程代码执行 重要的 远程代码执行 重要说明
基于 Itanium 的系统 Service Pack 3 的 Microsoft SQL Server 2008 重要 特权提升 重要的 远程代码执行 重要的 远程代码执行 重要说明
SQL Server 2008 Service Pack 4
Microsoft SQL Server 2008 for 32 位系统 Service Pack 4 重要 特权提升 重要的 远程代码执行 重要的 远程代码执行 重要说明
基于 x64 的系统 Service Pack 4 的 Microsoft SQL Server 2008 重要 特权提升 重要的 远程代码执行 重要的 远程代码执行 重要说明
SQL Server 2008 R2 Service Pack 2
Microsoft SQL Server 2008 R2 for 32 位系统 Service Pack 2 重要 特权提升 重要的 远程代码执行 重要的 远程代码执行 重要说明
基于 x64 的系统 Service Pack 2 的 Microsoft SQL Server 2008 R2 重要 特权提升 重要的 远程代码执行 重要的 远程代码执行 重要说明
Microsoft SQL Server 2008 R2 for Itanium 基于 Itanium 的系统 Service Pack 2 重要 特权提升 重要的 远程代码执行 重要的 远程代码执行 重要说明
SQL Server 2008 R2 Service Pack 3
Microsoft SQL Server 2008 R2 for 32 位系统 Service Pack 3 重要 特权提升 重要的 远程代码执行 重要的 远程代码执行 重要说明
适用于基于 x64 的系统 Service Pack 3 的 Microsoft SQL Server 2008 R2 重要 特权提升 重要的 远程代码执行 重要的 远程代码执行 重要说明
SQL Server 2012 Service Pack 1
Microsoft SQL Server 2012 for 32 位系统 Service Pack 1 重要 特权提升 重要的 远程代码执行 重要的 远程代码执行 重要说明
Microsoft SQL Server 2012 for x64 based Systems Service Pack 1 重要 特权提升 重要的 远程代码执行 重要的 远程代码执行 重要说明
SQL Server 2012 Service Pack 2
Microsoft SQL Server 2012 for 32 位系统 Service Pack 2 重要 特权提升 重要的 远程代码执行 重要的 远程代码执行 重要说明
基于 x64 的系统 Service Pack 2 的 Microsoft SQL Server 2012 重要 特权提升 重要的 远程代码执行 重要的 远程代码执行 重要说明
SQL Server 2014
Microsoft SQL Server 2014 for 32 位系统 重要 特权提升 重要的 远程代码执行 重要的 远程代码执行 重要说明
适用于基于 x64 的系统的 Microsoft SQL Server 2014 重要 特权提升 重要的 远程代码执行 重要的 远程代码执行 重要说明

漏洞信息

SQL Server 特权提升漏洞 - CVE-2015-1761

当 Microsoft SQL Server 错误地将指针强制转换为错误的类时,存在特权提升漏洞。 如果攻击者的凭据允许访问受影响的 SQL Server 数据库,攻击者可能会利用漏洞。 成功利用此漏洞的攻击者可能会获得可用于查看、更改或删除数据的提升权限;或创建新帐户。

安全更新通过更正 SQL Server 处理指针转换的方式来解决漏洞。

Microsoft 通过协调的漏洞泄露收到了有关漏洞的信息。 发布此安全公告时,Microsoft 未收到任何信息,表明此漏洞已公开用于攻击客户。

缓解因素

以下缓解因素可能对你的情况有所帮助:

  • 需要权限才能创建或修改数据库架构或数据
    若要利用此漏洞,攻击者需要有权创建或修改数据库。

解决方法

以下解决方法可能对你的情况有所帮助:

  • 限制服务器对数据库和架构创建的权限
    由于漏洞仅在非常特定的数据库架构、数据和查询的上下文中被利用,因此可以通过严格控制谁有权在服务器上创建数据库和架构来防止利用漏洞。 请注意,漏洞在非常具体的边缘情况下公开;很难定义公开漏洞的架构和查询。

    其他指导:如果 SQL Server 在特定查询执行期间导致访问冲突/数据执行-预防错误,请将其拆分为部件和/或添加查询提示来重写查询。

SQL Server 远程代码执行漏洞 - CVE-2015-1762

当远程代码执行漏洞错误地处理对未初始化内存的内部函数调用时,Microsoft SQL Server 中存在一个远程代码执行漏洞。 如果特权用户对具有特殊权限设置(如 VIEW 标准版RVER STATE)的受影响的 SQL Server 运行特制查询,攻击者可能会利用此漏洞。 成功利用此漏洞的攻击者可以完全控制受影响的系统。 然后,攻击者可以安装程序;查看、更改或删除数据;或创建新帐户。

安全更新通过更正 SQL Server 如何处理对未初始化内存的内部函数调用来解决漏洞。

Microsoft 通过协调的漏洞泄露收到了有关漏洞的信息。 发布此安全公告时,Microsoft 未收到任何信息,表明此漏洞已公开用于攻击客户。

缓解因素

以下缓解因素可能对你的情况有所帮助:

  • 需要特定配置
    若要利用此漏洞,必须启用此漏洞事务副本 (replica),并且攻击者必须启用特殊权限设置(例如 VIEW 标准版RVER STATE)。

解决方法

Microsoft 尚未识别此漏洞的任何 解决方法

SQL Server 远程代码执行漏洞 - CVE-2015-1763

当 Microsoft SQL Server 错误地处理对未初始化内存的内部函数调用时,Microsoft SQL Server 中存在经过身份验证的远程代码执行漏洞。 如果特权用户运行专用查询,攻击者可能会利用漏洞,该查询旨在从错误的地址执行虚拟函数,从而导致函数调用未初始化的内存。 成功利用此漏洞的攻击者可以完全控制受影响的系统。 然后,攻击者可以安装程序;查看、更改或删除数据;或创建新帐户。

安全更新通过更正 SQL Server 如何处理对未初始化内存的内部函数调用来解决漏洞。

Microsoft 通过协调的漏洞泄露收到了有关漏洞的信息。 发布此安全公告时,Microsoft 未收到任何信息,表明此漏洞已公开用于攻击客户。

缓解因素

Microsoft 尚未识别此漏洞的任何 缓解因素

解决方法

以下解决方法可能对你的情况有所帮助:

  • 限制服务器对数据库和架构创建的权限
    由于漏洞仅在非常特定的数据库架构、数据和查询的上下文中被利用,因此可以通过严格控制谁有权在服务器上创建数据库和架构来防止利用漏洞。 请注意,漏洞在非常具体的边缘情况下公开;很难定义公开漏洞的架构和查询。

    其他指导:如果 SQL Server 在特定查询执行期间导致访问冲突/数据执行-预防错误,请将其拆分为部件和/或添加查询提示来重写查询。

安全更新部署

有关安全更新部署信息,请参阅“执行摘要”中引用的 Microsoft 知识库文章。

致谢

Microsoft 认识到安全社区中那些帮助我们通过协调漏洞披露来保护客户的努力。 有关详细信息,请参阅确认。

免责声明

Microsoft 知识库中提供的信息“按原样”提供,不提供任何形式的担保。 Microsoft 不明确或暗示所有保证,包括适销性和针对特定用途的适用性和适用性的保证。 在任何情况下,Microsoft Corporation 或其供应商都应对任何损害负责,包括直接、间接、附带、后果性、业务利润损失或特殊损害,即使 Microsoft Corporation 或其供应商被告知存在此类损害的可能性。 某些州不允许排除或限制后果性或附带性损害的责任,因此上述限制可能不适用。

修订

  • V1.0(2015 年 7 月 14 日):公告已发布。
  • V1.1(2015 年 7 月 22 日):修订后的公告改进了“更新常见问题解答”部分,以帮助客户更轻松地根据当前安装的 SQL Server 版本确定要应用的正确更新。 这只是一项信息性更改。 已成功安装更新的客户无需采取任何操作。
  • V1.2(2015 年 12 月 9 日):修订公告,通过将其与早期版本中提供的指导保持一致,阐明了更新常见问题解答部分中的产品版本指南。 这只是一项信息性更改。 已成功安装更新的客户无需采取任何操作。

页面生成的 2015-12-09 11:11Z-08:00。