FreeBSD/amd64 swapgs指令本地权限提升漏洞

QQ空间 新浪微博 微信 QQ facebook twitter
漏洞ID 1185440 漏洞类型 权限许可和访问控制
发布时间 2008-09-03 更新时间 2008-09-03
CVE编号 CVE-2008-3890 CNNVD-ID CNNVD-200809-090
漏洞平台 N/A CVSS评分 7.2
|漏洞来源
https://www.securityfocus.com/bid/31003
http://www.cnnvd.org.cn/web/xxk/ldxqById.tag?CNNVD=CNNVD-200809-090
|漏洞详情
FreeBSD就是一种运行在Intel平台上、可以自由使用的开放源码Unix类系统。FreeBSD/amd64通常用于AMD和IntelCPU的64位系统上。对于IntelCPU,这种架构也被称为EM64T或Intel64。用户进程和内核都使用gs段CPU寄存器以方便的访问状态数据。用户进程使用这个寄存器管理每个线程的数据,内核使用这个寄存器管理每个处理器的数据。当处理器进入和离开内核时,会使用swapgs指令在gs寄存器的内核与用户值之间转换。当处理器在用户与内核级之间切换的时候,会执行一些检查以实现权限保护系统。如果处理器在试图切换权限级别时检测到了问题,会生成trap,通常为通用保护错误(GPF)。在这种情况下,处理器不再返回到用户级进程而是重新进入内核。FreeBSD内核允许通过SIGSEGV或SIGBUS信号通知用户进程这样的事件。如果FreeBSD/amd64系统在从中断、trap或系统调用返回时出现了通用包含错误,就可能在不应调用的情况下额外调用一次swapgsCPU指令,导致混合用户域和内核状态。本地攻击者可以在在内核从中断、trap或系统调用返回时导致通用保护错误,以控制栈帧并以内核权限执行任意代码。攻击者可以利用这个漏洞获得内核/管理程序权限。例如,普通用户可以获得root权限、摆脱牢笼限制或绕过强制访问控制(MAC)限制。
|受影响的产品
FreeBSD FreeBSD 7.0-STABLE FreeBSD FreeBSD 7.0-RELEASE FreeBSD FreeBSD 7.0 -RELENG FreeBSD FreeBSD 7.0 FreeBSD FreeBSD 6.3 -RELENG FreeBSD FreeBSD 6.3
|参考资料

来源:XF
名称:freebsd-fault-privilege-escalation(44905)
链接:http://xforce.iss.net/xforce/xfdb/44905
来源:SECTRACK
名称:1020815
链接:http://www.securitytracker.com/id?1020815
来源:BID
名称:31003
链接:http://www.securityfocus.com/bid/31003
来源:FREEBSD
名称:FreeBSD-SA-08:07
链接:http://security.freebsd.org/advisories/FreeBSD-SA-08:07.amd64.asc
来源:SECUNIA
名称:31743
链接:http://secunia.com/advisories/31743