Microsoft Windows异步过程调用本地权限提升漏洞

admin 2022-07-12 05:19:16 CNNVD漏洞 来源:ZONE.CI 全球网 0 阅读模式

漏洞信息详情

Microsoft Windows异步过程调用本地权限提升漏洞

  • CNNVD编号:CNNVD-200512-225
  • 危害等级: 中危
  • CVE编号: CVE-2005-2827
  • 漏洞类型: 设计错误
  • 发布时间: 2005-12-13
  • 威胁类型: 本地
  • 更新时间: 2007-04-10
  • 厂        商: microsoft
  • 漏洞来源: Derek Soeder dsoe...

漏洞简介

Microsoft Windows是美国微软(Microsoft)公司发布的一系列操作系统。

Microsoft Windows处理异步过程调用(APC)队列列表的方式存在漏洞,本地攻击者可以利用此漏洞提供任意函数指针,劫持执行流,最终完全控制系统。线程在退出的时候,PspExitThread会从ETHREAD.ApcState.ApcListHead[0]和ApcListHead[1]分离线程的APC队列,这样每个队列都会是一个循环的、双向链接的列表,其第一个和最后一个节点不指回到表头(LIST_ENTRY结构)。但是,由于没有修改表头的指针,因此其目的可能仅仅是允许PspExitThread中的APC释放循环,以便无需回到表头并错误的尝试释放ETHREAD结构中内存便可走过每个列表并释放其节点。攻击者可以利用这一过程释放数据,最终导致ExFreePoolWithTag操作用户内存。

外部进程所排列的APC会计算该进程的pool限额,因此包含有APC结构pool块的限额块会引用队列进程。如果正在退出线程的列表中包含有当前终止外部进程所排列的APC,且该APC节点代表进程的Process对象的最后引用,则释放该节点会导致在ExFreePoolWithTag中破坏Process对象,所造成的后果包括执行PspProcessDelete。这会使用KeStackAttachProcess切换到结束进程的地址空间,调用PspExitProcess。然后使用KeUnstackDetachProcess反转切换。

\"attach\"和\"detach\"函数都调用KiMoveApcState,其目的是临时分离其APC的线程,这样就不会分发到非预期的地址空间中,然后在线程的原始地址空间恢复后重新链接APC列表。在附加过程中,复制了ETHREAD.ApcState结构,并调整了列表的第一个和最后一个节点的指针以便引用拷贝。在分离的时候,尽管假设第一个和最后一个节点的指针仍是断开的(因为APC释放循环仍在进行),但调整了这些节点指针以重新将列表链接到原始的ETHREAD.ApcState。最终结果是释放循环仍会继续,尝试释放部分ETHREAD结构。由于所访问的ETHREAD部分中包含有可预测的且大部分为清零的值,因此最终会导致对攻击者提供指针的kernel操作。

以下过程说明了函数调用顺序和漏洞产生过程中所涉及到的参数:

. PspExitThread

. . KeFlushQueueApc

. . (detaches APC queues from ETHREAD.ApcState.ApcListHead)

. . (APC free loop CMS.zone.ci/e/tags/htag.php?tag=begin target=_blank class=infotextkey>begins)

. . ExFreePool(1st_APC -- queued by exited_process)

. . . ExFreePoolWithTag(1st_APC)

. . . . ObfDereferenceObject(exited_process)

. . . . . ObpRemoveObjectRoutine

. . . . . . PspProcessDelete

. . . . . . . KeStackAttachProcess(exited_process)

. . . . . . . . KiAttachProcess

. . . . . . . . . KiMoveApcState(ETHREAD.ApcState --> duplicate)

. . . . . . . . . KiSwapProcess

. . . . . . . PspExitProcess(0)

. . . . . . . KeUnstackDetachProcess

. . . . . . . . KiMoveApcState(duplicate --> ETHREAD.ApcState)

. . . . . . . . KiSwapProcess

. . ExFreePool(2nd_APC)

. . ExFreePool(ETHREAD + 30h)

. . (APC free loop ends)

漏洞公告

目前厂商已经发布了升级补丁以修复此安全问题,补丁获取链接:

http://www.microsoft.com/technet/security/bulletin/ms05-055.mspx

http://www.microsoft.com/downloads/details.aspx?FamilyId=3832FF23-6B04-4CA2-80B9-D344B4CC98EA

参考网址

来源: BID

名称: 15826

链接:http://www.securityfocus.com/bid/15826

来源: MS

名称: MS05-055

链接:http://www.microsoft.com/technet/security/bulletin/ms05-055.mspx

来源: VUPEN

名称: ADV-2005-2868

链接:http://www.frsirt.com/english/advisories/2005/2868

来源: SECUNIA

名称: 15821

链接:http://secunia.com/advisories/15821

来源: XF

名称: win-apc-gain-privileges(23447)

链接:http://xforce.iss.net/xforce/xfdb/23447

来源: MISC

链接:http://www130.nortelnetworks.com/cgi-bin/eserv/cs/main.jsp?cscat=BLTNDETAIL&DocumentOID=375420

来源: BUGTRAQ

名称: 20051213 [EEYEB-20050523] Windows Kernel APC Data-Free Local Privilege Escalation Vulnerability

链接:http://www.securityfocus.com/archive/1/archive/1/419377/100/0/threaded

来源: OSVDB

名称: 18823

链接:http://www.osvdb.org/18823

来源: VUPEN

名称: ADV-2005-2909

链接:http://www.frsirt.com/english/advisories/2005/2909

来源: EEYE

名称: EEYEB-20051213

链接:http://www.eeye.com/HTML/research/advisories/AD20051213.HTML

来源: support.avaya.com

链接:http://support.avaya.com/elmodocs2/security/ASA-2005-234.pdf

来源: SECTRACK

名称: 1015347

链接:http://securitytracker.com/id?1015347

来源: SECUNIA

名称: 18311

链接:http://secunia.com/advisories/18311

来源: SECUNIA

名称: 18064

链接:http://secunia.com/advisories/18064

来源: SREASON

名称: 252

链接:http://securityreason.com/securityalert/252

来源:US Government Resource

名称: oval:org.mitre.oval:def:1583

链接:http://oval.mitre.org/repository/data/getDef?id=oval:org.mitre.oval:def:1583

受影响实体

  • Microsoft Windows_nt:4.0  
  • Microsoft Windows_2000:Sp4:Server  
  • Microsoft Windows_2000:Sp4:Professional  
  • Microsoft Windows_2000:Sp4:Datacenter_server  
  • Microsoft Windows_2000:Sp4:Advanced_server  

补丁

  • Microsoft Windows异步过程调用本地权限提升漏洞的修复措施

weinxin
特别声明
本站(ZONE.CI)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
评论:0   参与:  0