FreeBSD FFS 的缺陷允许访问任意文件系统区块 (Linux,补丁)

/ns/ld/softld/data/20020820025601.htm



FreeBSD FFS 的缺陷允许访问任意文件系统区块 (Linux,补丁)

涉及程序:
Fast File System

描述:
FreeBSD FFS 的缺陷允许访问任意文件系统区块

详细:
Berkeley 的快速文件系统(Fast File System ,下面简称FFS)是FreeBSD的缺省文件系统。

由于在计算 FFS 文件最大允许容量的一个缺陷,允许攻击者通过创建一个比虚拟内存系统所能处理的文件大小要大的文件,在用户访问此文件时,产生整数溢出,将文件系统的元数据(metadata)映射到用户的文件中,允许对任意文件系统区块进行访问。

本地攻击者可利用此缺陷篡改文件系统,造成拒绝服务攻击。攻击者能够读取和写入任意本地文件,并取得 root权限。

此问题只会出现在 FFS 文件系统上,在 i386 架构上区块大小需大于 16k,或者在 alpha 架构上区块大小需大于 32k。并且此文件系统须至少有 6 个区块空间可使用,并且攻击者必须拥有一个文件的写入权限。

在 4.5-RELEASE 之前,FreeBSD FFS 所有的平台架构,区块大小从 8k 改到 16k。

区块大小小于16k的 FFS 文件系统 (i386 架构上) 或 32k (alpha 架构上),如建立在4.5-RELEASE 之前的系统上,预设的 FFS 档案系统区块大小是不受此问题影响。


- ------ 影响平台 -------------------------------------------------------------
影响: 所有修正之前 FreeBSD releases 都会受影响,包含 4.6.1-RELEASE-p44.6-STABLE
修正日期: 2002-06-23 22:34:52 UTC (RELENG_4)
2002-07-31 17:55:22 UTC (RELENG_4_6)
2002-07-31 17:55:11 UTC (RELENG_4_5)
2002-07-31 17:54:57 UTC (RELENG_4_4)
FreeBSD only: YES


攻击方法:
暂无有效攻击代码

解决方案:
1) 升级有问题的系统至修正日期后的4.6-STABLE,或者是 RELENG_4_6 (4.6.1-RELEASE-p5), RELENG_4_5 (4.5-RELEASE-p14), RELENG_4_4 (4.4-RELEASE-p21)

2) 修补现有的系统:

a) 从以下的地址下载相关补丁,并使用 PGP 工具加入验证。以下的补丁己经在所有的 FreeBSD 4.x releases 测试过。

# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-02:35/ffs.patch
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-02:35/ffs.patch.asc

b) 依下列网址所描述重新编译核心并且重新开机。
http://www.freebsd.org/handbook/kernelconfig.html