FreeBSD 'mount(2)'和'nmount(2)'多个栈缓冲区溢出漏洞

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

Description

BUGTRAQ ID: 31002 CVE ID:CVE-2008-3531 CNCVE ID:CNCVE-20083531

FreeBSD是一款开放源代码的操作系统。 FreeBSD处理mount(2)和nmount(2)系统调用存在问题,本地攻击者可以利用漏洞以内核进程权限执行任意指令。 各种用户定义的输入如挂接点,设备,挂接选项会作为参数传递给nmount(2)到内核,在部分错误条件下,用户定义的数据会没有充分边界检查的情况下拷贝到存储在内核中的堆栈缓冲区中。如果系统配置成允许非特权用户挂接文件系统,可导致这些非特权用户通过设置vfs.usermount sysctl(8)变量利用这些系统调用,以内核进程权限执行任意指令。

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

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

fetch <a href=http://security.FreeBSD.org/patches/SA-08:08/nmount.patch.asc target=_blank>http://security.FreeBSD.org/patches/SA-08:08/nmount.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> 所述重新编译操作系统并重启系统。