FreeBSD/amd64 'swapgs'本地特权提升漏洞

2008-09-10T00:00:00
ID SSV:3984
Type seebug
Reporter Root
Modified 2008-09-10T00:00:00

Description

BUGTRAQ ID: 31003 CVE ID:CVE-2008-3890 CNCVE ID:CNCVE-20083890

FreeBSD/amd64是一款用于AMD和INTEL CPU上的64位操作系统。 FreeBSD/amd64内核存在一个安全问题,本地攻击者可以利用漏洞使swapgs CPU执行不正确执行,以内核权限执行任意指令。 当从一个中断,TRAP或系统调用上返回时,如果FreeBSD/amd64系统发生一般性保护错误。swapgs指令可能会被多执行一次,导致用户态和核心态的混合。 本地攻击者可以通过当内核从一个中断,TRAP或系统调用上返回引起一般性保护错误,通过操作堆栈帧可导致以内核特权执行任意代码。 漏洞可以用于获得内核、超级用户特权,如普通用户获得ROOT特权,从JAIL环境中突破,或绕过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

供应商提供如下补丁及解决方法: 1)更新受影响系统到6-STABLE, 或7-STABLE,或者到更正日期之后的RELENG_7_0, 或RELENG_6_3安全版本。 2)为当前系统打补丁: 如下补丁经验证可应用于FreeBSD 5.5、6.1、6.2、6.3和7.0系统。 a)从如下位置下载相关补丁,并使用PGP工具验证附带的PGP签名:

fetch <a href=http://security.FreeBSD.org/patches/SA-08:07/amd64.patch target=_blank>http://security.FreeBSD.org/patches/SA-08:07/amd64.patch</a>

fetch <a href=http://security.FreeBSD.org/patches/SA-08:07/amd64.patch.asc target=_blank>http://security.FreeBSD.org/patches/SA-08:07/amd64.patch.asc</a>

b)应用补丁

cd /usr/src

patch < /path/to/patch

c)如<<a href=http://www.freebsd.org/handbook/kernelconfig.html> target=_blank>http://www.freebsd.org/handbook/kernelconfig.html></a> 所述重新编译操作系统并重启系统。