Corel Linux 1.0 xconf工具存在多个安全漏洞

2008-07-16T00:00:00
ID SSV:3655
Type seebug
Reporter Root
Modified 2008-07-16T00:00:00

Description

Corel Linux中的xconf工具中缺乏对用户输入的有效检查,并且没有正确放弃特权。因此本 地用户可以利用这些漏洞获得root权限,或者导致拒绝服务攻击。

(1) 将XF86Config的一些数据添加到系统中的任意文件中去。

/sbin/buildxconf没有检查用户输入的数据,并且被设置了setuid root位。当用"-f"
参数执行它时,用户可以将输出存储到一个指定文件,比如/etc/shadow

(2) 用一些垃圾数据替换掉任何存在文件的第一行

当用"-x"参数执行buildxconf程序时,它将用X server的路径/文件名替代掉指定文件的第
一行。如果将/etc/passwd的第一行替换掉(通常是root行),可能导致拒绝服务攻击。

(3) 在文件系统中创建任何人可写的文件(属主为root)

设置自己的umask为0后,执行buildxconf时,用"-x"或者"-f"参数指定一个不存在的文件 将会在文件系统的任意位置创建该文件,属主为root,文件属性为0666.

(4) 以root身份执行任意命令

/sbin/setxconf允许用户用"-T"开关测试X的设置。它会启动以euid root身份启动xinit。
而xinit将会查看是否存在~/.xserverrc,如果存在将在启动时执行里面的命令。

xconf + Corel Linux 1.0 禁止xconf工具的使用或者去除其suid位: chmod 0000 /sbin/setxconf /sbin/buildxconf /sbin/testxconf

                                        
                                            
                                                (1) /sbin/buildxconf -f /existing/filename
(2) /sbin/buildxconf -x /existing/filename
(3) 缺省root并没有crontab文件,所以可以创建一个文件,然后添加命令,用来获得root权限
   $ umask 0
   $ /sbin/buildxconf -f /var/spool/cron/crontabs/root
(4)
--------------------------Cut-----