首页 -> 安全研究

安全研究

安全漏洞
FreeBSD libkvm库敏感描述符处理不当导致信息泄露漏洞

发布日期:2002-09-16
更新日期:2002-09-20

受影响系统:
FreeBSD FreeBSD 4.6.2-RELEASE
FreeBSD FreeBSD 4.6-RELEASE
FreeBSD FreeBSD 4.5-RELEASE
FreeBSD FreeBSD 4.4
描述:
CVE(CAN) ID: CVE-2002-1125

kvm(3)库提供访问内核虚拟内存映象的统一接口,包括运行中的系统和coredump映象。访问运行中的系统是通过对/dev/mem和/dev/kmem的访问实现的,内存可以读和写,内核符号地址可以有效的查寻,及用户进程的信息可以被收集。

使用kvm(3)库的Setgid为kmem应用程序,没有很好的关闭文件描述符,本地攻击者可以利用这个漏洞读取内核内存信息,导致如文件、网络、tty缓冲区、认证令牌等敏感信息泄露。

应用程序如果要体统一些交换利用率、虚拟内存利用率、CPU利用率等等就需要使用kvm(3)库来直接读取内核内存收集这些信息,这些应用程序如asmon、ascpu、bubblemon、wmmon、和wmnet2等都必须以setgid kmem属性安装来调用kvm_openfiles(3)函数来访问/dev/mem和/dev/kmem。

如果应用程序使用exec(2)调用其他应用程序时,会正确丢弃kmem权限,但是新的应用程序会继续保留/dev/mem和/dev/kmem打开的文件描述符。这一般通过标注文件描述符为close-on-exec来避免,但是由于这里的句柄由kvm_openfiles(3)不透明的返回,所以应用程序没有直接的方法判断由此库打开的文件描述符,结果本地用户可以利用这个漏洞读取内核内存信息、获取文件、网络、tty缓冲区、认证令牌等敏感信息。

<*来源:David Endler (dendler@idefense.com
  
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=103228135413310&w=2
        ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-02:39.libkvm.asc
*>

建议:
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

* 暂时去掉相关程序的SGID S位。

厂商补丁:

FreeBSD
-------
FreeBSD已经为此发布了一个安全公告(FreeBSD-SA-02:39)以及相应补丁:
FreeBSD-SA-02:39:Applications using libkvm may leak sensitive descriptors
链接:ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-02:39.libkvm.asc

补丁下载:

采取下列方案之一:

1) 将受影响的FreeBSD系统升级到4.6-STABLE,或相应修正日期后发布的RELENG_4_6,
RELENG_4_5, 或RELENG_4_4 security branch(4.6.2-RELEASE-p2、4.5-RELEASE-p20
或4.4-RELEASE-p27)。

2) 为现有系统安装补丁:

下列补丁适用于FreeBSD 4.4, FreeBSD 4.5、FreeBSD 4.6和FreeBSD 4.6.2系统。

a) 从下列地址下载相应的补丁并用你的PGP工具核实分开的PGP签名。

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

b) 安装补丁:

# cd /usr/src
# patch < /path/to/patch
# cd /usr/src/lib/libkvm
# make depend && make && make install

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