发布日期:2010-11-10
更新日期:2010-11-12
受影响系统:
FreeBSD FreeBSD 8.x
FreeBSD FreeBSD 7.x
描述:
--------------------------------------------------------------------------------
BUGTRAQ ID: 44782
CVE ID: CVE-2010-4210
FreeBSD就是一种运行在Intel平台上、可以自由使用的开放源码Unix类系统。
FreeBSD的pseudofs模块中用于处理扩展属性的pfs_getextattr(9)函数尝试解锁之前尚未锁定的互斥体。在加载了使用pseudofs的文件系统且允许空页面映射的系统上,攻击者可以以0覆盖内核中的任意内存位置,在某些情况下还可以在内核环境中执行任意代码。
在不允许空页面映射的系统上,攻击者可以导致FreeBSD内核忙碌。
<*来源:Przemyslaw Frasunek (venglin@freebsd.lublin.pl)
链接:
ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-10:09.pseudofs.asc
*>
建议:
--------------------------------------------------------------------------------
临时解决方法:
* 卸载procfs(5)和linprocfs(5)。
厂商补丁:
FreeBSD
-------
FreeBSD已经为此发布了一个安全公告(FreeBSD-SA-10:09)以及相应补丁:
FreeBSD-SA-10:09:Spurious mutex unlock
链接:ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-10:09.pseudofs.asc
补丁下载:
执行以下步骤之一;
1) 将有漏洞的系统升级到7-STABLE或8-STABLE,,或修改日期之后的RELENG_7_1安全版本。
2) 如果要通过源码路径升级有漏洞的系统:
以下补丁确认可应用于FreeBSD 7.1系统。
a) 从以下位置下载相关补丁,并使用PGP工具验证附带的PGP签名。
# fetch :09/pseudofs.patch
# fetch :09/pseudofs.patch.asc
b) 以root执行以下命令:
# cd /usr/src
# patch < /path/to/patch
c) 如<URL:> 所述重新编译内核并重启系统。