MS11-056:客户端/服务器运行时子系统和控制台主机中的漏洞
今天,我们发布了安全更新MS11-056,以解决Windows客户端/服务器运行时子系统(CSRSS)和控制台主机(conhost.exe)中的漏洞。我们还关闭了在Windows 7和Windows Server 2008 R2上内部发现的权限提升攻击向量,显著减少了未来在这些平台上发现的任何控制台问题导致权限提升的机会。
风险是什么?
攻击者如果已经能够在系统上运行代码,则可以利用MS11-056中解决的漏洞来提升系统上的权限。在Windows XP和Windows Vista系统上,能够以低权限执行代码的攻击者可能会在客户端/服务器运行时子系统的上下文中以SYSTEM身份执行任意代码。在Windows 7和Windows Server 2008 R2系统上,受影响的代码被移动到一个不同的进程(conhost.exe),该进程以与登录用户相同的权限级别运行。[1] 因此,如果存在具有控制台的更高权限进程,攻击者可能会在另一个控制台主机进程的上下文中执行任意代码。
详细信息
这些漏洞是由于对特定控制台API消息的验证不足引起的。在Windows XP和Windows Vista上,控制台API消息的处理发生在客户端/服务器运行时子系统内部,而在Windows 7和Windows Server 2008 R2上,会创建一个单独的控制台主机进程(conhost.exe),该进程使用与关联控制台应用程序相同的凭据运行。[1]
内部研究发现,在Windows 7和Windows Server 2008 R2上存在一种场景,其中控制台主机内部的内存损坏问题仍可能导致权限提升。MS11-056修复了Windows XP和Windows Vista上的内存损坏漏洞,并关闭了Windows 7和Windows 2008 R2上的这种跨用户场景。现在,Windows 7和Windows Server 2008 R2上的控制台主机内存损坏问题最坏情况下应导致代码在与攻击者已经能够直接执行代码的相同上下文中运行。
- Richard van Eeden, MSRC Engineering