安全研究

安全漏洞
FreeBSD linprocfs 泄漏特权进程内存漏洞

发布日期:2001-08-24
更新日期:2001-08-24

受影响系统:
FreeBSD FreeBSD 4.3-STABLE
FreeBSD FreeBSD 4.3-RELEASE
FreeBSD FreeBSD 4.3
FreeBSD FreeBSD 4.2-STABLE
FreeBSD FreeBSD 4.2-RELEASE
FreeBSD FreeBSD 4.2
FreeBSD FreeBSD 4.1.1-STABLE
FreeBSD FreeBSD 4.1.1-RELEASE
FreeBSD FreeBSD 4.1.1
FreeBSD FreeBSD 4.1
FreeBSD FreeBSD 4.0
FreeBSD FreeBSD 3.5.1-STABLE
FreeBSD FreeBSD 3.5.1-RELEASE
FreeBSD FreeBSD 3.5-STABLE
FreeBSD FreeBSD 3.5
描述:
BUGTRAQ  ID: 3217
CVE(CAN) ID: CVE-2001-1166

linprocfs 是FreeBSD中的一个procfs实现,它实现了linux风格的procfs,使之可以被
Linux二进制程序使用。它通过提供/proc/<pid>/mem文件来访问procfs.

procfs代码中用来判断是否应该授予kmem组只读权限的部分存在问题,只要进程已经打开
了一个procfs mem文件的的文件描述符,就会不正确地给调用者以对/proc/<pid>/mem文件
的读取权限。
这允许非特权进程读取某些特权进程的内存,攻击者可能获取一些敏感信息,例如口令信息
等等。


<*来源:Joost Pol (joost@contempt.nl)
  链接:FreeBSD-SA-01:55 procfs
*>

建议:
临时解决方法:

卸载procfs和linprocfs文件系统:
# umount -f -a -t procfs
# umount -f -a -t linprocfs

可以通过在/etc/fstab中注释掉下面两行来禁止自动加载procfs:
proc            /proc        procfs    rw    0    0
proc            /compat/linux/proc linprocfs rw    0    0

厂商补丁:

FreeBSD已经提供了补丁程序。

FreeBSD 4.3-RELEASE (4.2-RELEASE):

# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-01:55/procfs.patch
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-01:55/procfs.patch.asc
# cd /usr/src/sys
# patch -p < /path/to/patch

编译内核并重新启动系统。

如果procfs是通过KLD动态加载的,可以使用下列命令来进行修复而无需重启系统:.

# cd /usr/src/sys/modules/procfs
# make depend
# make all install
# umount -f -a -t procfs
# kldunload procfs
# kldload procfs
# mount -a -t procfs

FreeBSD也为4.3-RELEASE提供了一个二进制的升级包:
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/packages/SA-01:55/security-patch-procfs-01.55.tgz
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/packages/SA-01:55/security-patch-procfs-01.55.tgz.asc
# pkg_add security-patch-procfs-01.55.tgz

浏览次数:3850
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障