FreeBSD的Linux兼容模块中缓冲区溢出漏洞

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入

  受影响系统:

  FreeBSD FreeBSD 5.0

  FreeBSD FreeBSD 4.1

  FreeBSD FreeBSD 4.0

  FreeBSD FreeBSD 3.5

  FreeBSD FreeBSD 3.4

  FreeBSD FreeBSD 3.3

  FreeBSD FreeBSD 3.2

  FreeBSD FreeBSD 3.1

  FreeBSD FreeBSD 3.0

  描述:

  为做到与 Linux 兼容,FreeBSD 中有一个专门模块,叫 Linux 兼容模块。

  版本3.x、4.x、5.x 的 FreeBSD 中, Linux兼容模块存在一个漏洞。早于

  2000年7月23号发布的5.0版、早于2000年7月29号发布的4.1版、以及早于

  2000年8月24号发布的3.5版,都被发现有这个漏洞。迟于这三个日期发布

  对应的版本没有发现有这个漏洞。

  Linux兼容模块实现了一个被称为”shadow”的文件系统。它罩在正规文件

  系统上面影射正规文件,使得 Linux 可以透过它看到 FreeBSD 的文件。

  如果一个用户在”shadow”文件系统上创建一个文件名很长的文件,并且

  文件名包含机器可执行码,可以导致堆栈被覆盖,存放文件名的缓冲区

  中的内容被执行。这仅发生在该模块被加载,或被直接编译进内核时。缺

  省时并不这样做。

  <* 来源:FreeBSD security advisory *>

  建议:

  1。到下面的站点下载补丁:

  FreeBSD FreeBSD 5.0:

  FreeBSD patch linux.patch

  linux.patch”>ftp://ftp.freebsd.org/pub/FreeBSD/CERT/patches/SA-00:42/linux.patch

  FreeBSD FreeBSD 4.1

  FreeBSD patch linux.patch

  ftp://ftp.freebsd.org/pub/FreeBSD/CERT/patches/SA-00:42/linux.patch

  FreeBSD FreeBSD 4.0:

  FreeBSD patch linux.patch

  ftp://ftp.freebsd.org/pub/FreeBSD/CERT/patches/SA-00:42/linux.patch

  FreeBSD FreeBSD 3.5:

  FreeBSD patch linux.patch

  ftp://ftp.freebsd.org/pub/FreeBSD/CERT/patches/SA-00:42/linux.patch

  2。卸去 Linux 兼容模块,为此先用如下命令检查是否加载了”linux.ko”

  # kldstat

  Id Refs Address Size Name

  1 7 0xc0100000 270be0 kernel

  2 1 0xc0371000 5540 vesa.ko

  3 1 0xc0377000 10094 randomdev.ko

  4 1 0xc0e17000 4e000 nfs.ko

  5 1 0xc0e83000 11000 linux.ko

  如果有 linux.ko 模块,执行如下命令:

  # kldunload linux

  3。如果没有被加载,检查是否被编译进内核。为此检查内核配置文件,查找

  如下的行:

  options COMPAT_LINUX

  如果有这一行,删除它再重新编译内核。

http://sec.chinabyte.com/231/11186731.shtml

美好的生命应该充满期待惊喜和感激

FreeBSD的Linux兼容模块中缓冲区溢出漏洞

相关文章:

你感兴趣的文章:

标签云: