FreeBSD的Linux兼容模块中缓冲区溢出漏洞
受影响系统: 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 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |