Lucene search

K
seebugRootSSV:2912
HistoryFeb 20, 2008 - 12:00 a.m.

FreeBSD sendfile(2)函数只写文件权限绕过安全限制漏洞

2008-02-2000:00:00
Root
www.seebug.org
10

0.0004 Low

EPSS

Percentile

5.7%

BUGTRAQ ID: 27789
CVE(CAN) ID: CVE-2008-0777

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

FreeBSD在处理文件的访问控制时存在漏洞,本地攻击者可能利用此漏洞获取敏感信息。

当进程打开文件(和其他文件系统对象,如目录)时,会指定访问标记说明所要进行的读、写或其他操作。会对这些标记检查文件系统权限,然后存储到所生成的文件描述符,以验证之后的操作。

FreeBSD的sendfile(2)系统调用在从文件发送数据之前没有检查文件描述符访问标记,如果文件为只写的话,则即使用户无法读访问文件,用户进程仍可以打开文件并使用sendfile通过套接字发送文件的内容,导致可能泄露敏感信息。仅在系统存在只写文件时系统才会受漏洞影响,而这种情况并不常见。

FreeBSD FreeBSD 7.0
FreeBSD FreeBSD 6.3
FreeBSD FreeBSD 6.2
FreeBSD FreeBSD 5.5
厂商补丁:

FreeBSD

FreeBSD已经为此发布了一个安全公告(FreeBSD-SA-08:03)以及相应补丁:
FreeBSD-SA-08:03:sendfile(2) write-only file permission bypass
链接:<a href=“ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-08:03.sendfile.asc” target=“_blank”>ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-08:03.sendfile.asc</a>

补丁下载:

执行以下步骤之一:

  1. 将有漏洞的系统升级到5-STABLE、6-STABLE或7.0-PRERELEASE,或修改日期之后的RELENG_7_0、RELENG_6_3、RELENG_6_2、RELENG_6_1或RELENG_5_5安全版本。

  2. 为当前系统打补丁:

以下补丁确认可应用于FreeBSD 5.5、6.1、6.2、6.3和7.0系统。

a) 从以下位置下载相关补丁,并使用PGP工具验证附带的PGP签名。

[FreeBSD 6.2、6.3和7.0]

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

fetch <a href=“http://security.FreeBSD.org/patches/SA-08:03/sendfile.patch.asc” target=“_blank”>http://security.FreeBSD.org/patches/SA-08:03/sendfile.patch.asc</a>

[FreeBSD 6.1]

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

fetch <a href=“http://security.FreeBSD.org/patches/SA-08:03/sendfile61.patch.asc” target=“_blank”>http://security.FreeBSD.org/patches/SA-08:03/sendfile61.patch.asc</a>

[FreeBSD 5.5]

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

fetch <a href=“http://security.FreeBSD.org/patches/SA-08:03/sendfile55.patch.asc” target=“_blank”>http://security.FreeBSD.org/patches/SA-08:03/sendfile55.patch.asc</a>

b) 以root执行以下命令:

cd /usr/src

patch < /path/to/patch

c) 如<<a href=“http://www.freebsd.org/handbook/kernelconfig.html&gt;” target=“_blank”>http://www.freebsd.org/handbook/kernelconfig.html&gt;</a> 所述重新编译操作系统并重启系统。

0.0004 Low

EPSS

Percentile

5.7%