FreeBSD 8.0 jail(8)实现本地权限提升漏洞

来源:岁月联盟 编辑:老鹰 时间:2010-05-31

影响版本:
FreeBSD 8.0

漏洞描述:
BUGTRAQ  ID: 40399
CVE ID: CVE-2010-2022

FreeBSD就是一种运行在Intel平台上、可以自由使用的开放源码Unix类系统。

FreeBSD所使用的jail(8)工具在关押(imprison)进程时没有更改当前的工作目录,其后代可以访问当前工作目录。

如果攻击者在jail调用之前设法获得了当前工作目录的描述符,就可以访问任意文件。除非中间进程更改了牢笼中的当前工作目录,否则启动牢笼的第一个进程的所有后代都会继承描述符。

默认下FreeBSD /etc/rc.d/jail脚本(可使用jail_* rc.conf(5)变量启用)不受这个漏洞影响。这是由于用于启动牢笼的默认牢笼标记(-l -U root)会导致jail(8)执行chdir(2)调用。如果设置了rc.conf(5)变量jail_flags或 jail_<jname>_flags,且没有包含-l -U root,牢笼会受这个漏洞影响。

<*参考
ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-10:04.jail.asc
*>

安全建议:
临时解决方法:

* 在启动牢笼时对jail(8)命令包含-l -U root参数。

厂商补丁:

FreeBSD
-------
FreeBSD已经为此发布了一个安全公告(FreeBSD-SA-10:04)以及相应补丁:
FreeBSD-SA-10:04:Insufficient environment sanitization in jail(8)
链接:ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-10:04.jail.asc

补丁下载:

# fetch http://security.FreeBSD.org/patches/SA-10:04/jail.patch
# fetch http://security.FreeBSD.org/patches/SA-10:04/jail.patch.asc

图片内容