Lucene search

K
seebugRootSSV:20254
HistoryNov 17, 2010 - 12:00 a.m.

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

2010-11-1700:00:00
Root
www.seebug.org
18

0.002 Low

EPSS

Percentile

55.4%

BUGTRAQ ID: 44782
CVE ID: CVE-2010-4210

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

FreeBSD的pseudofs模块中用于处理扩展属性的pfs_getextattr(9)函数尝试解锁之前尚未锁定的互斥体。在加载了使用 pseudofs的文件系统且允许空页面映射的系统上,攻击者可以以0覆盖内核中的任意内存位置,在某些情况下还可以在内核环境中执行任意代码。

在不允许空页面映射的系统上,攻击者可以导致FreeBSD内核忙碌。

FreeBSD FreeBSD 8.x
FreeBSD FreeBSD 7.x
临时解决方法:

  • 卸载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 http://security.FreeBSD.org/patches/SA-10:09/pseudofs.patch

fetch http://security.FreeBSD.org/patches/SA-10:09/pseudofs.patch.asc

b) 以root执行以下命令:

cd /usr/src

patch < /path/to/patch

c) 如<URL:http://www.FreeBSD.org/handbook/kernelconfig.html&gt; 所述重新编译内核并重启系统。