FreeBSD内核pseudofs模块本地内存覆盖漏洞

发布日期: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:> 所述重新编译内核并重启系统。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwsdpy.html